rollbar 0.9.12 → 0.9.13
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 +6 -0
- data/lib/rollbar/request_data_extractor.rb +22 -18
- data/lib/rollbar/version.rb +1 -1
- data/spec/controllers/home_controller_spec.rb +21 -3
- metadata +2 -2
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
**0.9.13**
|
4
|
+
- Add test for PUT params
|
5
|
+
- Parse json params when content-type is application/json
|
6
|
+
- Remove extraneous
|
7
|
+
- Remove redundant `GET` and `POST` keys from request payload (they're already included in `params`)
|
8
|
+
|
3
9
|
**0.9.12**
|
4
10
|
- Fix compatibility issue with Rails 4 / Ruby 2 (thanks [johnknott](https://github.com/johnknott))
|
5
11
|
|
@@ -11,20 +11,28 @@ module Rollbar
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def extract_request_data_from_rack(env)
|
14
|
+
rack_req = Rack::Request.new(env)
|
15
|
+
|
14
16
|
sensitive_params = sensitive_params_list(env)
|
15
17
|
request_params = rollbar_request_params(env)
|
16
|
-
|
17
|
-
|
18
|
-
|
18
|
+
get_params = rollbar_filtered_params(sensitive_params, rollbar_get_params(rack_req))
|
19
|
+
post_params = rollbar_filtered_params(sensitive_params, rollbar_post_params(rack_req))
|
20
|
+
cookies = rollbar_filtered_params(sensitive_params, rollbar_request_cookies(rack_req))
|
19
21
|
session = rollbar_filtered_params(sensitive_params, env['rack.session.options'])
|
20
|
-
|
22
|
+
|
23
|
+
params = get_params.merge(post_params).merge(request_params)
|
24
|
+
|
25
|
+
# parse any json params
|
26
|
+
if env['CONTENT_TYPE'] =~ %r{application/json}i
|
27
|
+
json_params = JSON.parse(env['rack.input'].read) rescue {}
|
28
|
+
params = params.merge(json_params)
|
29
|
+
end
|
30
|
+
|
21
31
|
{
|
22
|
-
:params =>
|
32
|
+
:params => params,
|
23
33
|
:url => rollbar_url(env),
|
24
34
|
:user_ip => rollbar_user_ip(env),
|
25
35
|
:headers => rollbar_headers(env),
|
26
|
-
:GET => get_params,
|
27
|
-
:POST => post_params,
|
28
36
|
:cookies => cookies,
|
29
37
|
:session => session,
|
30
38
|
:method => rollbar_request_method(env)
|
@@ -68,28 +76,24 @@ module Rollbar
|
|
68
76
|
}
|
69
77
|
end
|
70
78
|
|
71
|
-
def rollbar_get_params(
|
72
|
-
|
79
|
+
def rollbar_get_params(rack_req)
|
80
|
+
rack_req.GET
|
73
81
|
rescue
|
74
82
|
{}
|
75
83
|
end
|
76
84
|
|
77
|
-
def rollbar_post_params(
|
78
|
-
|
85
|
+
def rollbar_post_params(rack_req)
|
86
|
+
rack_req.POST
|
79
87
|
rescue
|
80
88
|
{}
|
81
89
|
end
|
82
|
-
|
83
|
-
def rollbar_request_cookies(
|
84
|
-
|
90
|
+
|
91
|
+
def rollbar_request_cookies(rack_req)
|
92
|
+
rack_req.cookies
|
85
93
|
rescue
|
86
94
|
{}
|
87
95
|
end
|
88
96
|
|
89
|
-
def rack_request(env)
|
90
|
-
@rack_request ||= Rack::Request.new(env)
|
91
|
-
end
|
92
|
-
|
93
97
|
def rollbar_filtered_params(sensitive_params, params)
|
94
98
|
if params.nil?
|
95
99
|
{}
|
data/lib/rollbar/version.rb
CHANGED
@@ -36,7 +36,6 @@ describe HomeController do
|
|
36
36
|
data.should have_key(:url)
|
37
37
|
data.should have_key(:user_ip)
|
38
38
|
data.should have_key(:headers)
|
39
|
-
data.should have_key(:GET)
|
40
39
|
data.should have_key(:session)
|
41
40
|
data.should have_key(:method)
|
42
41
|
end
|
@@ -178,13 +177,32 @@ describe HomeController do
|
|
178
177
|
end
|
179
178
|
end
|
180
179
|
|
181
|
-
describe "
|
182
|
-
it "should raise a NameError and report an exception" do
|
180
|
+
describe "'report_exception'", :type => "request" do
|
181
|
+
it "should raise a NameError and report an exception after a GET" do
|
183
182
|
logger_mock.should_receive(:info).with('[Rollbar] Success')
|
184
183
|
|
185
184
|
get 'report_exception'
|
186
185
|
response.should be_success
|
187
186
|
end
|
187
|
+
|
188
|
+
it "should raise a NameError and have PUT params in the reported exception" do
|
189
|
+
logger_mock.should_receive(:info).with('[Rollbar] Success')
|
190
|
+
|
191
|
+
put 'report_exception', :putparam => "putval"
|
192
|
+
|
193
|
+
Rollbar.last_report.should_not be_nil
|
194
|
+
Rollbar.last_report[:request][:params]["putparam"].should == "putval"
|
195
|
+
end
|
196
|
+
|
197
|
+
it "should raise a NameError and have JSON POST params" do
|
198
|
+
logger_mock.should_receive(:info).with('[Rollbar] Success')
|
199
|
+
|
200
|
+
params = {:jsonparam => 'jsonval'}.to_json
|
201
|
+
post 'report_exception', params, {'CONTENT_TYPE' => 'application/json'}
|
202
|
+
|
203
|
+
Rollbar.last_report.should_not be_nil
|
204
|
+
Rollbar.last_report[:request][:params]['jsonparam'].should == 'jsonval'
|
205
|
+
end
|
188
206
|
end
|
189
207
|
|
190
208
|
after(:each) do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rollbar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.13
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-05-
|
12
|
+
date: 2013-05-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: multi_json
|