rollbar 2.1.1 → 2.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/Gemfile +13 -17
- data/README.md +2 -2
- data/lib/rollbar/request_data_extractor.rb +26 -8
- data/lib/rollbar/version.rb +1 -1
- data/spec/controllers/home_controller_spec.rb +30 -0
- data/spec/dummyapp/app/controllers/home_controller.rb +4 -1
- data/spec/dummyapp/config/routes.rb +1 -0
- data/spec/fixtures/file1 +1 -0
- data/spec/fixtures/file2 +1 -0
- metadata +86 -82
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 553381499b916556da8272eadf551847254ffcaa
|
4
|
+
data.tar.gz: c80b393ccaa1cb9e2c2d46646703510852965ecf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d31b2d8d6d71c30c5888c3dacd631cda2f584d2de6a8b4cb238ca8c484a7037745904cfa5925ea5eca5e2100a93afa8c56681deab6292ffeefd97d4a764b078d
|
7
|
+
data.tar.gz: eedb32f0cc342297fbb7c48f989b8568bb6856ee385bc8f5d65c7d95334f58ed0a3121511d5824c870ddb1545e94fe8f2c265435a1afeb458730f2a2d927d581
|
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
@@ -1,20 +1,16 @@
|
|
1
|
-
|
1
|
+
# This file was generated by Appraisal
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
gem 'sqlite3', :platform => [:ruby, :mswin, :mingw]
|
6
|
-
gem 'jruby-openssl', :platform => :jruby
|
7
|
-
gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
|
8
|
-
gem 'appraisal'
|
3
|
+
source "https://rubygems.org"
|
9
4
|
|
10
|
-
gem
|
11
|
-
gem
|
12
|
-
gem
|
13
|
-
gem
|
14
|
-
gem
|
5
|
+
gem "sqlite3", :platform => [:ruby, :mswin, :mingw]
|
6
|
+
gem "jruby-openssl", :platform => :jruby
|
7
|
+
gem "activerecord-jdbcsqlite3-adapter", :platform => :jruby
|
8
|
+
gem "appraisal"
|
9
|
+
gem "rubysl", "~> 2.0", :platform => :rbx
|
10
|
+
gem "racc", :platform => :rbx
|
11
|
+
gem "minitest", :platform => :rbx
|
12
|
+
gem "rubinius-developer_tools", :platform => :rbx
|
13
|
+
gem "rails", "4.2.3"
|
15
14
|
|
16
|
-
|
17
|
-
|
18
|
-
else
|
19
|
-
gem 'debugger'
|
20
|
-
end
|
15
|
+
gemspec
|
16
|
+
gem 'byebug'
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Rollbar notifier for Ruby [![Build Status](https://api.travis-ci.org/rollbar/rollbar-gem.svg?branch=v2.1.
|
1
|
+
# Rollbar notifier for Ruby [![Build Status](https://api.travis-ci.org/rollbar/rollbar-gem.svg?branch=v2.1.2)](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.1.
|
15
|
+
gem 'rollbar', '~> 2.1.2'
|
16
16
|
```
|
17
17
|
|
18
18
|
And then execute:
|
@@ -1,7 +1,10 @@
|
|
1
1
|
require 'rack'
|
2
|
+
require 'tempfile'
|
2
3
|
|
3
4
|
module Rollbar
|
4
5
|
module RequestDataExtractor
|
6
|
+
SKIPPED_CLASSES = [Tempfile]
|
7
|
+
|
5
8
|
def extract_person_data_from_controller(env)
|
6
9
|
if env.has_key? 'rollbar.person_data'
|
7
10
|
person_data = env['rollbar.person_data'] || {}
|
@@ -165,22 +168,34 @@ module Rollbar
|
|
165
168
|
result[key] = rollbar_filtered_params(sensitive_params, value)
|
166
169
|
elsif value.is_a?(Array)
|
167
170
|
result[key] = value.map do |v|
|
168
|
-
v.is_a?(Hash) ? rollbar_filtered_params(sensitive_params, v) : v
|
171
|
+
v.is_a?(Hash) ? rollbar_filtered_params(sensitive_params, v) : rollbar_filtered_param_value(v)
|
169
172
|
end
|
170
|
-
elsif
|
171
|
-
result[key] = {
|
172
|
-
:content_type => value.content_type,
|
173
|
-
:original_filename => value.original_filename,
|
174
|
-
:size => value.tempfile.size
|
175
|
-
} rescue 'Uploaded file'
|
173
|
+
elsif skip_value?(value)
|
174
|
+
result[key] = "Skipped value of class '#{value.class.name}'"
|
176
175
|
else
|
177
|
-
result[key] = value
|
176
|
+
result[key] = rollbar_filtered_param_value(value)
|
178
177
|
end
|
179
178
|
|
180
179
|
result
|
181
180
|
end
|
182
181
|
end
|
183
182
|
|
183
|
+
def rollbar_filtered_param_value(value)
|
184
|
+
if ATTACHMENT_CLASSES.include?(value.class.name)
|
185
|
+
begin
|
186
|
+
{
|
187
|
+
:content_type => value.content_type,
|
188
|
+
:original_filename => value.original_filename,
|
189
|
+
:size => value.tempfile.size
|
190
|
+
}
|
191
|
+
rescue
|
192
|
+
'Uploaded file'
|
193
|
+
end
|
194
|
+
else
|
195
|
+
value
|
196
|
+
end
|
197
|
+
end
|
198
|
+
|
184
199
|
def sensitive_params_list(env)
|
185
200
|
Array(Rollbar.configuration.scrub_fields) | Array(env['action_dispatch.parameter_filter'])
|
186
201
|
end
|
@@ -193,5 +208,8 @@ module Rollbar
|
|
193
208
|
'*' * (value.length rescue 8)
|
194
209
|
end
|
195
210
|
|
211
|
+
def skip_value?(value)
|
212
|
+
SKIPPED_CLASSES.any? { |klass| value.is_a?(klass) }
|
213
|
+
end
|
196
214
|
end
|
197
215
|
end
|
data/lib/rollbar/version.rb
CHANGED
@@ -349,6 +349,36 @@ describe HomeController do
|
|
349
349
|
end
|
350
350
|
end
|
351
351
|
|
352
|
+
context 'with file uploads',:type => "request" do
|
353
|
+
let(:file1) { fixture_file_upload('spec/fixtures/file1') }
|
354
|
+
let(:file2) { fixture_file_upload('spec/fixtures/file2') }
|
355
|
+
|
356
|
+
context 'with a single upload' do
|
357
|
+
it "saves attachment data" do
|
358
|
+
expect { post '/file_upload', :upload => file1 }.to raise_exception
|
359
|
+
|
360
|
+
upload_param = Rollbar.last_report[:request][:params]['upload']
|
361
|
+
|
362
|
+
expect(upload_param).to have_key(:filename)
|
363
|
+
expect(upload_param).to have_key(:type)
|
364
|
+
expect(upload_param).to have_key(:name)
|
365
|
+
expect(upload_param).to have_key(:head)
|
366
|
+
|
367
|
+
expect(upload_param[:tempfile]).to be_eql("Skipped value of class 'Tempfile'")
|
368
|
+
end
|
369
|
+
end
|
370
|
+
|
371
|
+
context 'with multiple uploads' do
|
372
|
+
it "saves attachment data for all uploads" do
|
373
|
+
expect { post '/file_upload', :upload => [file1, file2] }.to raise_exception
|
374
|
+
sent_params = Rollbar.last_report[:request][:params]['upload']
|
375
|
+
|
376
|
+
expect(sent_params).to be_kind_of(Array)
|
377
|
+
expect(sent_params).to have(2).items
|
378
|
+
end
|
379
|
+
end
|
380
|
+
end
|
381
|
+
|
352
382
|
after(:each) do
|
353
383
|
Rollbar.configure do |config|
|
354
384
|
config.logger = ::Rails.logger
|
@@ -24,11 +24,14 @@ class HomeController < ApplicationController
|
|
24
24
|
render :json => {}
|
25
25
|
end
|
26
26
|
|
27
|
-
|
28
27
|
def cause_exception
|
29
28
|
foo = bar
|
30
29
|
end
|
31
30
|
|
31
|
+
def file_upload
|
32
|
+
this = will_crash
|
33
|
+
end
|
34
|
+
|
32
35
|
def current_user
|
33
36
|
@current_user ||= User.find_by_id(cookies[:session_id])
|
34
37
|
end
|
@@ -8,4 +8,5 @@ Dummy::Application.routes.draw do
|
|
8
8
|
put "/deprecated_report_exception" => "home#deprecated_report_exception"
|
9
9
|
match "/report_exception" => "home#report_exception", :via => [:get, :post, :put]
|
10
10
|
get "/current_user" => "home#current_user"
|
11
|
+
post "/file_upload" => "home#file_upload"
|
11
12
|
end
|
data/spec/fixtures/file1
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
This is a file
|
data/spec/fixtures/file2
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
This is a file
|
metadata
CHANGED
@@ -1,183 +1,183 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rollbar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rollbar, Inc.
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
15
|
-
version_requirements: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - '>='
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 3.0.0
|
20
15
|
requirement: !ruby/object:Gem::Requirement
|
21
16
|
requirements:
|
22
|
-
- -
|
17
|
+
- - ">="
|
23
18
|
- !ruby/object:Gem::Version
|
24
19
|
version: 3.0.0
|
25
|
-
prerelease: false
|
26
20
|
type: :development
|
27
|
-
|
28
|
-
name: rspec-rails
|
21
|
+
prerelease: false
|
29
22
|
version_requirements: !ruby/object:Gem::Requirement
|
30
23
|
requirements:
|
31
|
-
- -
|
24
|
+
- - ">="
|
32
25
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
26
|
+
version: 3.0.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rspec-rails
|
34
29
|
requirement: !ruby/object:Gem::Requirement
|
35
30
|
requirements:
|
36
|
-
- -
|
31
|
+
- - ">="
|
37
32
|
- !ruby/object:Gem::Version
|
38
33
|
version: 2.14.0
|
39
|
-
prerelease: false
|
40
34
|
type: :development
|
41
|
-
|
42
|
-
name: database_cleaner
|
35
|
+
prerelease: false
|
43
36
|
version_requirements: !ruby/object:Gem::Requirement
|
44
37
|
requirements:
|
45
|
-
- -
|
38
|
+
- - ">="
|
46
39
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
40
|
+
version: 2.14.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: database_cleaner
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
44
|
requirements:
|
50
|
-
- - ~>
|
45
|
+
- - "~>"
|
51
46
|
- !ruby/object:Gem::Version
|
52
47
|
version: 1.0.0
|
53
|
-
prerelease: false
|
54
48
|
type: :development
|
55
|
-
|
56
|
-
name: girl_friday
|
49
|
+
prerelease: false
|
57
50
|
version_requirements: !ruby/object:Gem::Requirement
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - "~>"
|
60
53
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
54
|
+
version: 1.0.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: girl_friday
|
62
57
|
requirement: !ruby/object:Gem::Requirement
|
63
58
|
requirements:
|
64
|
-
- -
|
59
|
+
- - ">="
|
65
60
|
- !ruby/object:Gem::Version
|
66
61
|
version: 0.11.1
|
67
|
-
prerelease: false
|
68
62
|
type: :development
|
69
|
-
|
70
|
-
name: sucker_punch
|
63
|
+
prerelease: false
|
71
64
|
version_requirements: !ruby/object:Gem::Requirement
|
72
65
|
requirements:
|
73
|
-
- -
|
66
|
+
- - ">="
|
74
67
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
68
|
+
version: 0.11.1
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: sucker_punch
|
76
71
|
requirement: !ruby/object:Gem::Requirement
|
77
72
|
requirements:
|
78
|
-
- -
|
73
|
+
- - ">="
|
79
74
|
- !ruby/object:Gem::Version
|
80
75
|
version: 1.0.0
|
81
|
-
prerelease: false
|
82
76
|
type: :development
|
83
|
-
|
84
|
-
name: sidekiq
|
77
|
+
prerelease: false
|
85
78
|
version_requirements: !ruby/object:Gem::Requirement
|
86
79
|
requirements:
|
87
|
-
- -
|
80
|
+
- - ">="
|
88
81
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
82
|
+
version: 1.0.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: sidekiq
|
90
85
|
requirement: !ruby/object:Gem::Requirement
|
91
86
|
requirements:
|
92
|
-
- -
|
87
|
+
- - ">="
|
93
88
|
- !ruby/object:Gem::Version
|
94
89
|
version: 2.13.0
|
95
|
-
prerelease: false
|
96
90
|
type: :development
|
97
|
-
|
98
|
-
name: genspec
|
91
|
+
prerelease: false
|
99
92
|
version_requirements: !ruby/object:Gem::Requirement
|
100
93
|
requirements:
|
101
|
-
- -
|
94
|
+
- - ">="
|
102
95
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
96
|
+
version: 2.13.0
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: genspec
|
104
99
|
requirement: !ruby/object:Gem::Requirement
|
105
100
|
requirements:
|
106
|
-
- -
|
101
|
+
- - ">="
|
107
102
|
- !ruby/object:Gem::Version
|
108
103
|
version: 0.2.8
|
109
|
-
prerelease: false
|
110
104
|
type: :development
|
111
|
-
|
112
|
-
name: sinatra
|
105
|
+
prerelease: false
|
113
106
|
version_requirements: !ruby/object:Gem::Requirement
|
114
107
|
requirements:
|
115
|
-
- -
|
108
|
+
- - ">="
|
116
109
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
110
|
+
version: 0.2.8
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: sinatra
|
118
113
|
requirement: !ruby/object:Gem::Requirement
|
119
114
|
requirements:
|
120
|
-
- -
|
115
|
+
- - ">="
|
121
116
|
- !ruby/object:Gem::Version
|
122
117
|
version: '0'
|
123
|
-
prerelease: false
|
124
118
|
type: :development
|
125
|
-
|
126
|
-
name: resque
|
119
|
+
prerelease: false
|
127
120
|
version_requirements: !ruby/object:Gem::Requirement
|
128
121
|
requirements:
|
129
|
-
- -
|
122
|
+
- - ">="
|
130
123
|
- !ruby/object:Gem::Version
|
131
124
|
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: resque
|
132
127
|
requirement: !ruby/object:Gem::Requirement
|
133
128
|
requirements:
|
134
|
-
- -
|
129
|
+
- - ">="
|
135
130
|
- !ruby/object:Gem::Version
|
136
131
|
version: '0'
|
137
|
-
prerelease: false
|
138
132
|
type: :development
|
139
|
-
|
140
|
-
name: delayed_job
|
133
|
+
prerelease: false
|
141
134
|
version_requirements: !ruby/object:Gem::Requirement
|
142
135
|
requirements:
|
143
|
-
- -
|
136
|
+
- - ">="
|
144
137
|
- !ruby/object:Gem::Version
|
145
138
|
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: delayed_job
|
146
141
|
requirement: !ruby/object:Gem::Requirement
|
147
142
|
requirements:
|
148
|
-
- -
|
143
|
+
- - ">="
|
149
144
|
- !ruby/object:Gem::Version
|
150
145
|
version: '0'
|
151
|
-
prerelease: false
|
152
146
|
type: :development
|
153
|
-
|
154
|
-
name: rake
|
147
|
+
prerelease: false
|
155
148
|
version_requirements: !ruby/object:Gem::Requirement
|
156
149
|
requirements:
|
157
|
-
- -
|
150
|
+
- - ">="
|
158
151
|
- !ruby/object:Gem::Version
|
159
|
-
version: 0
|
152
|
+
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: rake
|
160
155
|
requirement: !ruby/object:Gem::Requirement
|
161
156
|
requirements:
|
162
|
-
- -
|
157
|
+
- - ">="
|
163
158
|
- !ruby/object:Gem::Version
|
164
159
|
version: 0.9.0
|
165
|
-
prerelease: false
|
166
160
|
type: :development
|
167
|
-
|
168
|
-
name: redis
|
161
|
+
prerelease: false
|
169
162
|
version_requirements: !ruby/object:Gem::Requirement
|
170
163
|
requirements:
|
171
|
-
- -
|
164
|
+
- - ">="
|
172
165
|
- !ruby/object:Gem::Version
|
173
|
-
version:
|
166
|
+
version: 0.9.0
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: redis
|
174
169
|
requirement: !ruby/object:Gem::Requirement
|
175
170
|
requirements:
|
176
|
-
- -
|
171
|
+
- - ">="
|
177
172
|
- !ruby/object:Gem::Version
|
178
173
|
version: '0'
|
179
|
-
prerelease: false
|
180
174
|
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
181
|
description: Rails plugin to catch and send exceptions to Rollbar
|
182
182
|
email:
|
183
183
|
- support@rollbar.com
|
@@ -186,8 +186,8 @@ executables:
|
|
186
186
|
extensions: []
|
187
187
|
extra_rdoc_files: []
|
188
188
|
files:
|
189
|
-
- .gitignore
|
190
|
-
- .travis.yml
|
189
|
+
- ".gitignore"
|
190
|
+
- ".travis.yml"
|
191
191
|
- Appraisals
|
192
192
|
- CHANGELOG.md
|
193
193
|
- Gemfile
|
@@ -306,6 +306,8 @@ files:
|
|
306
306
|
- spec/dummyapp/public/500.html
|
307
307
|
- spec/dummyapp/public/favicon.ico
|
308
308
|
- spec/dummyapp/script/rails
|
309
|
+
- spec/fixtures/file1
|
310
|
+
- spec/fixtures/file2
|
309
311
|
- spec/fixtures/payloads/message.json
|
310
312
|
- spec/fixtures/payloads/sample.trace.json
|
311
313
|
- spec/fixtures/payloads/sample.trace_chain.json
|
@@ -342,24 +344,24 @@ homepage: https://rollbar.com
|
|
342
344
|
licenses:
|
343
345
|
- MIT
|
344
346
|
metadata: {}
|
345
|
-
post_install_message:
|
347
|
+
post_install_message:
|
346
348
|
rdoc_options: []
|
347
349
|
require_paths:
|
348
350
|
- lib
|
349
351
|
required_ruby_version: !ruby/object:Gem::Requirement
|
350
352
|
requirements:
|
351
|
-
- -
|
353
|
+
- - ">="
|
352
354
|
- !ruby/object:Gem::Version
|
353
355
|
version: '0'
|
354
356
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
355
357
|
requirements:
|
356
|
-
- -
|
358
|
+
- - ">="
|
357
359
|
- !ruby/object:Gem::Version
|
358
360
|
version: '0'
|
359
361
|
requirements: []
|
360
|
-
rubyforge_project:
|
361
|
-
rubygems_version: 2.4.
|
362
|
-
signing_key:
|
362
|
+
rubyforge_project:
|
363
|
+
rubygems_version: 2.4.1
|
364
|
+
signing_key:
|
363
365
|
specification_version: 4
|
364
366
|
summary: Reports exceptions to Rollbar
|
365
367
|
test_files:
|
@@ -416,6 +418,8 @@ test_files:
|
|
416
418
|
- spec/dummyapp/public/500.html
|
417
419
|
- spec/dummyapp/public/favicon.ico
|
418
420
|
- spec/dummyapp/script/rails
|
421
|
+
- spec/fixtures/file1
|
422
|
+
- spec/fixtures/file2
|
419
423
|
- spec/fixtures/payloads/message.json
|
420
424
|
- spec/fixtures/payloads/sample.trace.json
|
421
425
|
- spec/fixtures/payloads/sample.trace_chain.json
|