appsignal 0.11.12 → 0.11.13.beta.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,7 @@
1
+ # 0.11.13
2
+ * Configure Net::HTTP to only use TLS
3
+ * Add http proxy support
4
+
1
5
  # 0.11.12
2
6
  * Sanitizer will no longer inspect unknown objects, since implementations of inspect sometimes trigger unexpected behavior.
3
7
 
@@ -62,13 +62,34 @@ module Appsignal
62
62
  end
63
63
 
64
64
  def http_client
65
- Net::HTTP.new(uri.host, uri.port).tap do |http|
65
+ Net::HTTP.new(uri.host, uri.port, proxy_addr, proxy_port).tap do |http|
66
66
  if uri.scheme == 'https'
67
- http.use_ssl = true
67
+ http.use_ssl = true
68
+ http.ssl_version = :TLSv1
68
69
  http.verify_mode = OpenSSL::SSL::VERIFY_PEER
69
- http.ca_file = CA_FILE_PATH
70
+ http.ca_file = CA_FILE_PATH
70
71
  end
71
72
  end
72
73
  end
74
+
75
+ def proxy_uri
76
+ @proxy_uri ||= URI.parse(config[:http_proxy])
77
+ end
78
+
79
+ def proxy_addr
80
+ if config[:http_proxy]
81
+ proxy_uri.host
82
+ else
83
+ nil
84
+ end
85
+ end
86
+
87
+ def proxy_port
88
+ if config[:http_proxy]
89
+ proxy_uri.port
90
+ else
91
+ nil
92
+ end
93
+ end
73
94
  end
74
95
  end
@@ -1,3 +1,3 @@
1
1
  module Appsignal
2
- VERSION = '0.11.12'
2
+ VERSION = '0.11.13.beta.0'
3
3
  end
@@ -86,6 +86,7 @@ describe Appsignal::Transmitter do
86
86
  let(:config) { project_fixture_config('test') }
87
87
 
88
88
  it { should be_instance_of(Net::HTTP) }
89
+ its(:proxy?) { should be_false }
89
90
  its(:use_ssl?) { should be_false }
90
91
  end
91
92
 
@@ -93,9 +94,18 @@ describe Appsignal::Transmitter do
93
94
  let(:config) { project_fixture_config('production') }
94
95
 
95
96
  it { should be_instance_of(Net::HTTP) }
97
+ its(:proxy?) { should be_false }
96
98
  its(:use_ssl?) { should be_true }
97
99
  its(:verify_mode) { should == OpenSSL::SSL::VERIFY_PEER }
98
100
  its(:ca_file) { Appsignal::Transmitter::CA_FILE_PATH }
99
101
  end
102
+
103
+ context "with a proxy" do
104
+ let(:config) { project_fixture_config('production', :http_proxy => 'http://localhost:8080') }
105
+
106
+ its(:proxy?) { should be_true }
107
+ its(:proxy_address) { should == 'localhost' }
108
+ its(:proxy_port) { should == 8080 }
109
+ end
100
110
  end
101
111
  end
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appsignal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.12
4
+ version: 0.11.13.beta.0
5
+ prerelease: 8
5
6
  platform: ruby
6
7
  authors:
7
8
  - Robert Beekman
@@ -12,104 +13,118 @@ authors:
12
13
  autorequire:
13
14
  bindir: bin
14
15
  cert_chain: []
15
- date: 2015-06-20 00:00:00.000000000 Z
16
+ date: 2015-07-08 00:00:00.000000000 Z
16
17
  dependencies:
17
18
  - !ruby/object:Gem::Dependency
18
19
  name: rack
19
20
  requirement: !ruby/object:Gem::Requirement
21
+ none: false
20
22
  requirements:
21
- - - ">="
23
+ - - ! '>='
22
24
  - !ruby/object:Gem::Version
23
25
  version: '0'
24
26
  type: :runtime
25
27
  prerelease: false
26
28
  version_requirements: !ruby/object:Gem::Requirement
29
+ none: false
27
30
  requirements:
28
- - - ">="
31
+ - - ! '>='
29
32
  - !ruby/object:Gem::Version
30
33
  version: '0'
31
34
  - !ruby/object:Gem::Dependency
32
35
  name: thread_safe
33
36
  requirement: !ruby/object:Gem::Requirement
37
+ none: false
34
38
  requirements:
35
- - - ">="
39
+ - - ! '>='
36
40
  - !ruby/object:Gem::Version
37
41
  version: '0'
38
42
  type: :runtime
39
43
  prerelease: false
40
44
  version_requirements: !ruby/object:Gem::Requirement
45
+ none: false
41
46
  requirements:
42
- - - ">="
47
+ - - ! '>='
43
48
  - !ruby/object:Gem::Version
44
49
  version: '0'
45
50
  - !ruby/object:Gem::Dependency
46
51
  name: rake
47
52
  requirement: !ruby/object:Gem::Requirement
53
+ none: false
48
54
  requirements:
49
- - - ">="
55
+ - - ! '>='
50
56
  - !ruby/object:Gem::Version
51
57
  version: '0'
52
58
  type: :development
53
59
  prerelease: false
54
60
  version_requirements: !ruby/object:Gem::Requirement
61
+ none: false
55
62
  requirements:
56
- - - ">="
63
+ - - ! '>='
57
64
  - !ruby/object:Gem::Version
58
65
  version: '0'
59
66
  - !ruby/object:Gem::Dependency
60
67
  name: rspec
61
68
  requirement: !ruby/object:Gem::Requirement
69
+ none: false
62
70
  requirements:
63
- - - "~>"
71
+ - - ~>
64
72
  - !ruby/object:Gem::Version
65
73
  version: 2.14.1
66
74
  type: :development
67
75
  prerelease: false
68
76
  version_requirements: !ruby/object:Gem::Requirement
77
+ none: false
69
78
  requirements:
70
- - - "~>"
79
+ - - ~>
71
80
  - !ruby/object:Gem::Version
72
81
  version: 2.14.1
73
82
  - !ruby/object:Gem::Dependency
74
83
  name: pry
75
84
  requirement: !ruby/object:Gem::Requirement
85
+ none: false
76
86
  requirements:
77
- - - ">="
87
+ - - ! '>='
78
88
  - !ruby/object:Gem::Version
79
89
  version: '0'
80
90
  type: :development
81
91
  prerelease: false
82
92
  version_requirements: !ruby/object:Gem::Requirement
93
+ none: false
83
94
  requirements:
84
- - - ">="
95
+ - - ! '>='
85
96
  - !ruby/object:Gem::Version
86
97
  version: '0'
87
98
  - !ruby/object:Gem::Dependency
88
99
  name: timecop
89
100
  requirement: !ruby/object:Gem::Requirement
101
+ none: false
90
102
  requirements:
91
- - - ">="
103
+ - - ! '>='
92
104
  - !ruby/object:Gem::Version
93
105
  version: '0'
94
106
  type: :development
95
107
  prerelease: false
96
108
  version_requirements: !ruby/object:Gem::Requirement
109
+ none: false
97
110
  requirements:
98
- - - ">="
111
+ - - ! '>='
99
112
  - !ruby/object:Gem::Version
100
113
  version: '0'
101
114
  - !ruby/object:Gem::Dependency
102
115
  name: webmock
103
116
  requirement: !ruby/object:Gem::Requirement
117
+ none: false
104
118
  requirements:
105
- - - ">="
119
+ - - ! '>='
106
120
  - !ruby/object:Gem::Version
107
121
  version: '0'
108
122
  type: :development
109
123
  prerelease: false
110
124
  version_requirements: !ruby/object:Gem::Requirement
125
+ none: false
111
126
  requirements:
112
- - - ">="
127
+ - - ! '>='
113
128
  - !ruby/object:Gem::Version
114
129
  version: '0'
115
130
  description: The official appsignal.com gem
@@ -120,9 +135,9 @@ executables:
120
135
  extensions: []
121
136
  extra_rdoc_files: []
122
137
  files:
123
- - ".gitignore"
124
- - ".rspec"
125
- - ".travis.yml"
138
+ - .gitignore
139
+ - .rspec
140
+ - .travis.yml
126
141
  - CHANGELOG.md
127
142
  - Gemfile
128
143
  - LICENSE
@@ -244,26 +259,27 @@ files:
244
259
  homepage: https://github.com/appsignal/appsignal
245
260
  licenses:
246
261
  - MIT
247
- metadata: {}
248
262
  post_install_message:
249
263
  rdoc_options: []
250
264
  require_paths:
251
265
  - lib
252
266
  required_ruby_version: !ruby/object:Gem::Requirement
267
+ none: false
253
268
  requirements:
254
- - - ">="
269
+ - - ! '>='
255
270
  - !ruby/object:Gem::Version
256
271
  version: '1.9'
257
272
  required_rubygems_version: !ruby/object:Gem::Requirement
273
+ none: false
258
274
  requirements:
259
- - - ">="
275
+ - - ! '>'
260
276
  - !ruby/object:Gem::Version
261
- version: '0'
277
+ version: 1.3.1
262
278
  requirements: []
263
279
  rubyforge_project:
264
- rubygems_version: 2.4.5
280
+ rubygems_version: 1.8.23
265
281
  signing_key:
266
- specification_version: 4
282
+ specification_version: 3
267
283
  summary: Logs performance and exception data from your app to appsignal.com
268
284
  test_files:
269
285
  - spec/lib/appsignal/agent_spec.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 0ba213178a250bec23014f41561ccaa3c4ca2c95
4
- data.tar.gz: f9648371cd893047a5dcf4db1467aeff67ba4f97
5
- SHA512:
6
- metadata.gz: 0d53da1203003488e9213d6fe9c9afbe3608419c95ab8c17d829a402ee4d60ff922a445893e63db1da1b27fd6b783bfe29aa85e7eb708a37ddacd6a6dc944421
7
- data.tar.gz: 1e86ea7f96f1b6fb437e100acb158e20edd8ca0ebbd963abc5a66235871453eca4e40c00ba4e4458dc5b47e97ad01f8f0665b0eaf9203b81f4a6d387ba042f04