rollbar 2.5.1 → 2.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.md +7 -0
- data/README.md +2 -2
- data/gemfiles/rails32.gemfile +2 -0
- data/lib/rollbar/request_data_extractor.rb +6 -1
- data/lib/rollbar/scrubbers/url.rb +2 -0
- data/lib/rollbar/version.rb +1 -1
- data/spec/controllers/home_controller_spec.rb +12 -0
- data/spec/dummyapp/config/routes.rb +1 -1
- data/spec/rollbar/middleware/sinatra_spec.rb +9 -1
- data/spec/rollbar/scrubbers/url_spec.rb +8 -0
- metadata +67 -37
- checksums.yaml +0 -7
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## 2.5.2
|
4
|
+
|
5
|
+
Bug fixes:
|
6
|
+
|
7
|
+
- Use ACCEPT header to check json requests. See [#328](https://github.com/rollbar/rollbar-gem/pull/333)
|
8
|
+
- Fix URL scrubbing when using a malformed URL. See [#328](https://github.com/rollbar/rollbar-gem/pull/332)
|
9
|
+
|
3
10
|
## 2.5.1
|
4
11
|
|
5
12
|
Bug fix:
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Rollbar notifier for Ruby [](https://travis-ci.org/rollbar/rollbar-gem/branches)
|
2
2
|
|
3
3
|
<!-- RemoveNext -->
|
4
4
|
[Rollbar](https://rollbar.com) is an error tracking service for Ruby and other languages. The Rollbar service will alert you of problems with your code and help you understand them in a ways never possible before. We love it and we hope you will too.
|
@@ -12,7 +12,7 @@ This is the Ruby library for Rollbar. It will instrument many kinds of Ruby appl
|
|
12
12
|
Add this line to your application's Gemfile:
|
13
13
|
|
14
14
|
```ruby
|
15
|
-
gem 'rollbar', '~> 2.5.
|
15
|
+
gem 'rollbar', '~> 2.5.2'
|
16
16
|
```
|
17
17
|
|
18
18
|
If you are not using JRuby we suggest using [Oj](https://github.com/ohler55/oj) for JSON serialization. In order to install Oj you can add this line to your Gemfile:
|
data/gemfiles/rails32.gemfile
CHANGED
@@ -137,7 +137,7 @@ module Rollbar
|
|
137
137
|
correct_method = rack_req.post? || rack_req.put? || rack_req.patch?
|
138
138
|
|
139
139
|
return {} unless correct_method
|
140
|
-
return {} unless rack_req
|
140
|
+
return {} unless json_request?(rack_req)
|
141
141
|
|
142
142
|
Rollbar::JSON.load(rack_req.body.read)
|
143
143
|
rescue
|
@@ -146,6 +146,11 @@ module Rollbar
|
|
146
146
|
rack_req.body.rewind
|
147
147
|
end
|
148
148
|
|
149
|
+
def json_request?(rack_req)
|
150
|
+
!!(rack_req.env['CONTENT_TYPE'] =~ %r{application/json} ||
|
151
|
+
rack_req.env['ACCEPT'] =~ /\bjson\b/)
|
152
|
+
end
|
153
|
+
|
149
154
|
def rollbar_request_params(env)
|
150
155
|
env['action_dispatch.request.parameters'] || {}
|
151
156
|
end
|
data/lib/rollbar/version.rb
CHANGED
@@ -388,6 +388,18 @@ describe HomeController do
|
|
388
388
|
end
|
389
389
|
end
|
390
390
|
|
391
|
+
context 'with json ACCEPT header', :type => 'request' do
|
392
|
+
let(:params) { { :foo => :bar } }
|
393
|
+
|
394
|
+
it 'parses the correct headers' do
|
395
|
+
expect do
|
396
|
+
post '/cause_exception', params, { 'ACCEPT' => 'application/vnd.github.v3+json' }
|
397
|
+
end.to raise_exception
|
398
|
+
|
399
|
+
expect(Rollbar.last_report[:request][:params]['foo']).to be_eql('bar')
|
400
|
+
end
|
401
|
+
end
|
402
|
+
|
391
403
|
context 'with params to be scrubed from URL', :type => :request do
|
392
404
|
next unless Rollbar::LanguageSupport.can_scrub_url?
|
393
405
|
|
@@ -4,7 +4,7 @@ Dummy::Application.routes.draw do
|
|
4
4
|
member { post :start_session }
|
5
5
|
end
|
6
6
|
|
7
|
-
|
7
|
+
match '/cause_exception' => 'home#cause_exception', :via => [:get, :post]
|
8
8
|
put '/deprecated_report_exception' => 'home#deprecated_report_exception'
|
9
9
|
match '/report_exception' => 'home#report_exception',
|
10
10
|
:via => [:get, :post, :put]
|
@@ -144,13 +144,21 @@ describe Rollbar::Middleware::Sinatra, :reconfigure_notifier => true do
|
|
144
144
|
}
|
145
145
|
end
|
146
146
|
|
147
|
-
it '
|
147
|
+
it 'appears in the sent payload when application/json is the content type' do
|
148
148
|
expect do
|
149
149
|
post '/crash_post', params.to_json, { 'CONTENT_TYPE' => 'application/json' }
|
150
150
|
end.to raise_error(exception)
|
151
151
|
|
152
152
|
expect(Rollbar.last_report[:request][:params]).to be_eql(params)
|
153
153
|
end
|
154
|
+
|
155
|
+
it 'appears in the sent payload when the accepts header contains json' do
|
156
|
+
expect do
|
157
|
+
post '/crash_post', params, { 'ACCEPT' => 'application/vnd.github.v3+json' }
|
158
|
+
end.to raise_error(exception)
|
159
|
+
|
160
|
+
expect(Rollbar.last_report[:request][:params]).to be_eql(params)
|
161
|
+
end
|
154
162
|
end
|
155
163
|
|
156
164
|
it 'resets the notifier in every request' do
|
@@ -98,6 +98,14 @@ describe Rollbar::Scrubbers::URL do
|
|
98
98
|
expect(subject.call(url)).to match(expected_url)
|
99
99
|
end
|
100
100
|
end
|
101
|
+
|
102
|
+
context 'with malformed URL or not able to be parsed' do
|
103
|
+
let(:url) { '\this\is\not\a\valid\url' }
|
104
|
+
|
105
|
+
it 'return the same url' do
|
106
|
+
expect(subject.call(url)).to be_eql(url)
|
107
|
+
end
|
108
|
+
end
|
101
109
|
end
|
102
110
|
end
|
103
111
|
end
|
metadata
CHANGED
@@ -1,209 +1,238 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rollbar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.5.
|
4
|
+
version: 2.5.2
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Rollbar, Inc.
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2015-
|
12
|
+
date: 2015-11-03 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: rails
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
|
-
- -
|
19
|
+
- - ! '>='
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: 3.0.0
|
20
22
|
type: :development
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
|
-
- -
|
27
|
+
- - ! '>='
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: 3.0.0
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: rspec-rails
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
|
-
- -
|
35
|
+
- - ! '>='
|
32
36
|
- !ruby/object:Gem::Version
|
33
37
|
version: 2.14.0
|
34
38
|
type: :development
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
|
-
- -
|
43
|
+
- - ! '>='
|
39
44
|
- !ruby/object:Gem::Version
|
40
45
|
version: 2.14.0
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: database_cleaner
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
|
-
- -
|
51
|
+
- - ~>
|
46
52
|
- !ruby/object:Gem::Version
|
47
53
|
version: 1.0.0
|
48
54
|
type: :development
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
|
-
- -
|
59
|
+
- - ~>
|
53
60
|
- !ruby/object:Gem::Version
|
54
61
|
version: 1.0.0
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: girl_friday
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
58
66
|
requirements:
|
59
|
-
- -
|
67
|
+
- - ! '>='
|
60
68
|
- !ruby/object:Gem::Version
|
61
69
|
version: 0.11.1
|
62
70
|
type: :development
|
63
71
|
prerelease: false
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
65
74
|
requirements:
|
66
|
-
- -
|
75
|
+
- - ! '>='
|
67
76
|
- !ruby/object:Gem::Version
|
68
77
|
version: 0.11.1
|
69
78
|
- !ruby/object:Gem::Dependency
|
70
79
|
name: sucker_punch
|
71
80
|
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
72
82
|
requirements:
|
73
|
-
- -
|
83
|
+
- - ! '>='
|
74
84
|
- !ruby/object:Gem::Version
|
75
85
|
version: 1.0.0
|
76
86
|
type: :development
|
77
87
|
prerelease: false
|
78
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
79
90
|
requirements:
|
80
|
-
- -
|
91
|
+
- - ! '>='
|
81
92
|
- !ruby/object:Gem::Version
|
82
93
|
version: 1.0.0
|
83
94
|
- !ruby/object:Gem::Dependency
|
84
95
|
name: sidekiq
|
85
96
|
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
86
98
|
requirements:
|
87
|
-
- -
|
99
|
+
- - ! '>='
|
88
100
|
- !ruby/object:Gem::Version
|
89
101
|
version: 2.13.0
|
90
102
|
type: :development
|
91
103
|
prerelease: false
|
92
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
93
106
|
requirements:
|
94
|
-
- -
|
107
|
+
- - ! '>='
|
95
108
|
- !ruby/object:Gem::Version
|
96
109
|
version: 2.13.0
|
97
110
|
- !ruby/object:Gem::Dependency
|
98
111
|
name: genspec
|
99
112
|
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
100
114
|
requirements:
|
101
|
-
- -
|
115
|
+
- - ! '>='
|
102
116
|
- !ruby/object:Gem::Version
|
103
117
|
version: 0.2.8
|
104
118
|
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
107
122
|
requirements:
|
108
|
-
- -
|
123
|
+
- - ! '>='
|
109
124
|
- !ruby/object:Gem::Version
|
110
125
|
version: 0.2.8
|
111
126
|
- !ruby/object:Gem::Dependency
|
112
127
|
name: sinatra
|
113
128
|
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
114
130
|
requirements:
|
115
|
-
- -
|
131
|
+
- - ! '>='
|
116
132
|
- !ruby/object:Gem::Version
|
117
133
|
version: '0'
|
118
134
|
type: :development
|
119
135
|
prerelease: false
|
120
136
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
121
138
|
requirements:
|
122
|
-
- -
|
139
|
+
- - ! '>='
|
123
140
|
- !ruby/object:Gem::Version
|
124
141
|
version: '0'
|
125
142
|
- !ruby/object:Gem::Dependency
|
126
143
|
name: resque
|
127
144
|
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
128
146
|
requirements:
|
129
|
-
- -
|
147
|
+
- - ! '>='
|
130
148
|
- !ruby/object:Gem::Version
|
131
149
|
version: '0'
|
132
150
|
type: :development
|
133
151
|
prerelease: false
|
134
152
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
135
154
|
requirements:
|
136
|
-
- -
|
155
|
+
- - ! '>='
|
137
156
|
- !ruby/object:Gem::Version
|
138
157
|
version: '0'
|
139
158
|
- !ruby/object:Gem::Dependency
|
140
159
|
name: delayed_job
|
141
160
|
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
142
162
|
requirements:
|
143
|
-
- -
|
163
|
+
- - ! '>='
|
144
164
|
- !ruby/object:Gem::Version
|
145
165
|
version: '0'
|
146
166
|
type: :development
|
147
167
|
prerelease: false
|
148
168
|
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
149
170
|
requirements:
|
150
|
-
- -
|
171
|
+
- - ! '>='
|
151
172
|
- !ruby/object:Gem::Version
|
152
173
|
version: '0'
|
153
174
|
- !ruby/object:Gem::Dependency
|
154
175
|
name: rake
|
155
176
|
requirement: !ruby/object:Gem::Requirement
|
177
|
+
none: false
|
156
178
|
requirements:
|
157
|
-
- -
|
179
|
+
- - ! '>='
|
158
180
|
- !ruby/object:Gem::Version
|
159
181
|
version: 0.9.0
|
160
182
|
type: :development
|
161
183
|
prerelease: false
|
162
184
|
version_requirements: !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
163
186
|
requirements:
|
164
|
-
- -
|
187
|
+
- - ! '>='
|
165
188
|
- !ruby/object:Gem::Version
|
166
189
|
version: 0.9.0
|
167
190
|
- !ruby/object:Gem::Dependency
|
168
191
|
name: redis
|
169
192
|
requirement: !ruby/object:Gem::Requirement
|
193
|
+
none: false
|
170
194
|
requirements:
|
171
|
-
- -
|
195
|
+
- - ! '>='
|
172
196
|
- !ruby/object:Gem::Version
|
173
197
|
version: '0'
|
174
198
|
type: :development
|
175
199
|
prerelease: false
|
176
200
|
version_requirements: !ruby/object:Gem::Requirement
|
201
|
+
none: false
|
177
202
|
requirements:
|
178
|
-
- -
|
203
|
+
- - ! '>='
|
179
204
|
- !ruby/object:Gem::Version
|
180
205
|
version: '0'
|
181
206
|
- !ruby/object:Gem::Dependency
|
182
207
|
name: multi_json
|
183
208
|
requirement: !ruby/object:Gem::Requirement
|
209
|
+
none: false
|
184
210
|
requirements:
|
185
|
-
- -
|
211
|
+
- - ! '>='
|
186
212
|
- !ruby/object:Gem::Version
|
187
213
|
version: '0'
|
188
214
|
type: :runtime
|
189
215
|
prerelease: false
|
190
216
|
version_requirements: !ruby/object:Gem::Requirement
|
217
|
+
none: false
|
191
218
|
requirements:
|
192
|
-
- -
|
219
|
+
- - ! '>='
|
193
220
|
- !ruby/object:Gem::Version
|
194
221
|
version: '0'
|
195
222
|
- !ruby/object:Gem::Dependency
|
196
223
|
name: oj
|
197
224
|
requirement: !ruby/object:Gem::Requirement
|
225
|
+
none: false
|
198
226
|
requirements:
|
199
|
-
- -
|
227
|
+
- - ~>
|
200
228
|
- !ruby/object:Gem::Version
|
201
229
|
version: 2.12.14
|
202
230
|
type: :development
|
203
231
|
prerelease: false
|
204
232
|
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
none: false
|
205
234
|
requirements:
|
206
|
-
- -
|
235
|
+
- - ~>
|
207
236
|
- !ruby/object:Gem::Version
|
208
237
|
version: 2.12.14
|
209
238
|
description: Easy and powerful exception tracking for Ruby
|
@@ -214,8 +243,8 @@ executables:
|
|
214
243
|
extensions: []
|
215
244
|
extra_rdoc_files: []
|
216
245
|
files:
|
217
|
-
-
|
218
|
-
-
|
246
|
+
- .gitignore
|
247
|
+
- .travis.yml
|
219
248
|
- Appraisals
|
220
249
|
- CHANGELOG.md
|
221
250
|
- Gemfile
|
@@ -383,26 +412,27 @@ files:
|
|
383
412
|
homepage: https://rollbar.com
|
384
413
|
licenses:
|
385
414
|
- MIT
|
386
|
-
metadata: {}
|
387
415
|
post_install_message:
|
388
416
|
rdoc_options: []
|
389
417
|
require_paths:
|
390
418
|
- lib
|
391
419
|
required_ruby_version: !ruby/object:Gem::Requirement
|
420
|
+
none: false
|
392
421
|
requirements:
|
393
|
-
- -
|
422
|
+
- - ! '>='
|
394
423
|
- !ruby/object:Gem::Version
|
395
424
|
version: '0'
|
396
425
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
426
|
+
none: false
|
397
427
|
requirements:
|
398
|
-
- -
|
428
|
+
- - ! '>='
|
399
429
|
- !ruby/object:Gem::Version
|
400
430
|
version: '0'
|
401
431
|
requirements: []
|
402
432
|
rubyforge_project:
|
403
|
-
rubygems_version:
|
433
|
+
rubygems_version: 1.8.23
|
404
434
|
signing_key:
|
405
|
-
specification_version:
|
435
|
+
specification_version: 3
|
406
436
|
summary: Reports exceptions to Rollbar
|
407
437
|
test_files:
|
408
438
|
- spec/cacert.pem
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 624449078b1bb27b9cc3823079379c16f911a436
|
4
|
-
data.tar.gz: 9b8264e3a4b51ff029f9bc8911d0acc3611ba5a3
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 4703b2a859825b5b23f682e9e0b3d5e784c1e3f0448e31716d254a1b8ef39295f456b630dfc94589bf866e96101e7a1b9883e7ec0a20caa466a92190de001686
|
7
|
-
data.tar.gz: ebe79ef4941d4bcc616e4c353c2eff00c19e049128357fe6245f3d451cad2d7e52f6cd335a5b6bea3285924073738f509726f2735ce78847b3ebd0479325c2f4
|