bugsnag 2.3.0 → 2.4.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/README.md +9 -6
- data/VERSION +1 -1
- data/lib/bugsnag/helpers.rb +14 -1
- data/lib/bugsnag/railtie.rb +8 -1
- data/spec/helper_spec.rb +10 -0
- metadata +23 -23
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0521fc3cace95079dc4d038dc75c02481ba7847b
|
|
4
|
+
data.tar.gz: 1d34bcc368eb9e4fc6b04a15ccd31e6ec3db2380
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5a2fbdbd810edc36b0ca20ac6e44dbd61c59cccd3ad96cb53e8b8da49ea38e6010e9969e4d34096f58e53892faf061a1b81af677fe937fa7fa3609af566c06f1
|
|
7
|
+
data.tar.gz: e48a77338ef9d1ec47e277aa40e8ac84dadbecdb688938531b9f508dba39b242ebce72a0999a387bd08e0a82201acc08148a99b63db1fdf83ce5a37ec7ef5f81
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
+
2.4.0
|
|
5
|
+
-----
|
|
6
|
+
- Allow filters to be regular expressions (thanks @tamird)
|
|
7
|
+
- Ensure filtering behavior matches rails' when importing filters from
|
|
8
|
+
`Rails.configuration.filter_parameters`
|
|
9
|
+
|
|
4
10
|
2.3.0
|
|
5
11
|
-----
|
|
6
12
|
- Use ssl by default (Thanks @dkubb)
|
data/README.md
CHANGED
|
@@ -347,16 +347,19 @@ config.app_version = "2.5.1"
|
|
|
347
347
|
|
|
348
348
|
###params_filters
|
|
349
349
|
|
|
350
|
-
Sets
|
|
351
|
-
them to Bugsnag. Use this if you want to ensure you don't send
|
|
352
|
-
|
|
353
|
-
|
|
350
|
+
Sets which keys should be filtered out from `params` hashes before sending
|
|
351
|
+
them to Bugsnag. Use this if you want to ensure you don't send sensitive data
|
|
352
|
+
such as passwords, and credit card numbers to our servers. You can add both
|
|
353
|
+
strings and regular expressions to this array. When adding strings, keys which
|
|
354
|
+
*contain* the string will be filtered. When adding regular expressions, any
|
|
355
|
+
keys which *match* the regular expression will be filtered.
|
|
354
356
|
|
|
355
357
|
```ruby
|
|
356
|
-
config.params_filters
|
|
358
|
+
config.params_filters += ["credit_card_number", /^password$/]
|
|
357
359
|
```
|
|
358
360
|
|
|
359
|
-
By default, `params_filters` is set to `["password", "secret"]
|
|
361
|
+
By default, `params_filters` is set to `["password", "secret"]`, and for rails
|
|
362
|
+
apps, imports all values from `Rails.configuration.filter_parameters`.
|
|
360
363
|
|
|
361
364
|
###ignore_classes
|
|
362
365
|
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.
|
|
1
|
+
2.4.0
|
data/lib/bugsnag/helpers.rb
CHANGED
|
@@ -27,7 +27,7 @@ module Bugsnag
|
|
|
27
27
|
when Hash
|
|
28
28
|
clean_hash = {}
|
|
29
29
|
obj.each do |k,v|
|
|
30
|
-
if
|
|
30
|
+
if filters_match?(k, filters)
|
|
31
31
|
clean_hash[k] = "[FILTERED]"
|
|
32
32
|
else
|
|
33
33
|
clean_obj = cleanup_obj(v, filters, seen)
|
|
@@ -62,6 +62,19 @@ module Bugsnag
|
|
|
62
62
|
end
|
|
63
63
|
end
|
|
64
64
|
|
|
65
|
+
def self.filters_match?(object, filters)
|
|
66
|
+
str = object.to_s
|
|
67
|
+
|
|
68
|
+
Array(filters).any? do |f|
|
|
69
|
+
case f
|
|
70
|
+
when Regexp
|
|
71
|
+
str.match(f)
|
|
72
|
+
else
|
|
73
|
+
str.include?(f.to_s)
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
65
78
|
def self.cleanup_url(url, filters = nil)
|
|
66
79
|
return url unless filters
|
|
67
80
|
|
data/lib/bugsnag/railtie.rb
CHANGED
|
@@ -18,7 +18,14 @@ module Bugsnag
|
|
|
18
18
|
config.logger = Rails.logger
|
|
19
19
|
config.release_stage = Rails.env.to_s
|
|
20
20
|
config.project_root = Rails.root.to_s
|
|
21
|
-
config.params_filters += Rails.configuration.filter_parameters
|
|
21
|
+
config.params_filters += Rails.configuration.filter_parameters.map do |filter|
|
|
22
|
+
case filter
|
|
23
|
+
when String
|
|
24
|
+
/\A#{filter}\z/
|
|
25
|
+
else
|
|
26
|
+
filter
|
|
27
|
+
end
|
|
28
|
+
end
|
|
22
29
|
config.middleware.insert_before Bugsnag::Middleware::Callbacks, Bugsnag::Middleware::Rails3Request
|
|
23
30
|
end
|
|
24
31
|
|
data/spec/helper_spec.rb
CHANGED
|
@@ -44,6 +44,16 @@ describe Bugsnag::Helpers do
|
|
|
44
44
|
end
|
|
45
45
|
end
|
|
46
46
|
|
|
47
|
+
it "filters by string inclusion" do
|
|
48
|
+
expect(Bugsnag::Helpers.cleanup_obj({ :foo => 'bar' }, ['f'])).to eq({ :foo => '[FILTERED]' })
|
|
49
|
+
expect(Bugsnag::Helpers.cleanup_obj({ :foo => 'bar' }, ['b'])).to eq({ :foo => 'bar' })
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
it "filters by regular expression" do
|
|
53
|
+
expect(Bugsnag::Helpers.cleanup_obj({ :foo => 'bar' }, [/fb?/])).to eq({ :foo => '[FILTERED]' })
|
|
54
|
+
expect(Bugsnag::Helpers.cleanup_obj({ :foo => 'bar' }, [/fb+/])).to eq({ :foo => 'bar' })
|
|
55
|
+
end
|
|
56
|
+
|
|
47
57
|
it "reduces hash size correctly" do
|
|
48
58
|
meta_data = {
|
|
49
59
|
:key_one => "this should not be truncated",
|
metadata
CHANGED
|
@@ -1,103 +1,103 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bugsnag
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- James Smith
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-08-
|
|
11
|
+
date: 2014-08-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: multi_json
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- -
|
|
17
|
+
- - ~>
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
19
|
version: '1.0'
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
|
-
- -
|
|
24
|
+
- - ~>
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '1.0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: httparty
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
|
-
- -
|
|
31
|
+
- - <
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
33
|
version: '1.0'
|
|
34
|
-
- -
|
|
34
|
+
- - '>='
|
|
35
35
|
- !ruby/object:Gem::Version
|
|
36
36
|
version: '0.6'
|
|
37
37
|
type: :runtime
|
|
38
38
|
prerelease: false
|
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
|
40
40
|
requirements:
|
|
41
|
-
- -
|
|
41
|
+
- - <
|
|
42
42
|
- !ruby/object:Gem::Version
|
|
43
43
|
version: '1.0'
|
|
44
|
-
- -
|
|
44
|
+
- - '>='
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
46
|
version: '0.6'
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: rake
|
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
|
50
50
|
requirements:
|
|
51
|
-
- -
|
|
51
|
+
- - '>='
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
53
|
version: '0'
|
|
54
54
|
type: :development
|
|
55
55
|
prerelease: false
|
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
57
|
requirements:
|
|
58
|
-
- -
|
|
58
|
+
- - '>='
|
|
59
59
|
- !ruby/object:Gem::Version
|
|
60
60
|
version: '0'
|
|
61
61
|
- !ruby/object:Gem::Dependency
|
|
62
62
|
name: rspec
|
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
|
64
64
|
requirements:
|
|
65
|
-
- -
|
|
65
|
+
- - '>='
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
67
|
version: '0'
|
|
68
68
|
type: :development
|
|
69
69
|
prerelease: false
|
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
|
71
71
|
requirements:
|
|
72
|
-
- -
|
|
72
|
+
- - '>='
|
|
73
73
|
- !ruby/object:Gem::Version
|
|
74
74
|
version: '0'
|
|
75
75
|
- !ruby/object:Gem::Dependency
|
|
76
76
|
name: rdoc
|
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
|
78
78
|
requirements:
|
|
79
|
-
- -
|
|
79
|
+
- - '>='
|
|
80
80
|
- !ruby/object:Gem::Version
|
|
81
81
|
version: '0'
|
|
82
82
|
type: :development
|
|
83
83
|
prerelease: false
|
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
|
85
85
|
requirements:
|
|
86
|
-
- -
|
|
86
|
+
- - '>='
|
|
87
87
|
- !ruby/object:Gem::Version
|
|
88
88
|
version: '0'
|
|
89
89
|
- !ruby/object:Gem::Dependency
|
|
90
90
|
name: pry
|
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|
|
92
92
|
requirements:
|
|
93
|
-
- -
|
|
93
|
+
- - '>='
|
|
94
94
|
- !ruby/object:Gem::Version
|
|
95
95
|
version: '0'
|
|
96
96
|
type: :development
|
|
97
97
|
prerelease: false
|
|
98
98
|
version_requirements: !ruby/object:Gem::Requirement
|
|
99
99
|
requirements:
|
|
100
|
-
- -
|
|
100
|
+
- - '>='
|
|
101
101
|
- !ruby/object:Gem::Version
|
|
102
102
|
version: '0'
|
|
103
103
|
description: Ruby notifier for bugsnag.com
|
|
@@ -108,10 +108,10 @@ extra_rdoc_files:
|
|
|
108
108
|
- LICENSE.txt
|
|
109
109
|
- README.md
|
|
110
110
|
files:
|
|
111
|
-
-
|
|
112
|
-
-
|
|
113
|
-
-
|
|
114
|
-
-
|
|
111
|
+
- .document
|
|
112
|
+
- .gitignore
|
|
113
|
+
- .rspec
|
|
114
|
+
- .travis.yml
|
|
115
115
|
- CHANGELOG.md
|
|
116
116
|
- Gemfile
|
|
117
117
|
- LICENSE.txt
|
|
@@ -168,17 +168,17 @@ require_paths:
|
|
|
168
168
|
- lib
|
|
169
169
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
170
170
|
requirements:
|
|
171
|
-
- -
|
|
171
|
+
- - '>='
|
|
172
172
|
- !ruby/object:Gem::Version
|
|
173
173
|
version: '0'
|
|
174
174
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
175
175
|
requirements:
|
|
176
|
-
- -
|
|
176
|
+
- - '>='
|
|
177
177
|
- !ruby/object:Gem::Version
|
|
178
178
|
version: '0'
|
|
179
179
|
requirements: []
|
|
180
180
|
rubyforge_project:
|
|
181
|
-
rubygems_version: 2.
|
|
181
|
+
rubygems_version: 2.0.14
|
|
182
182
|
signing_key:
|
|
183
183
|
specification_version: 4
|
|
184
184
|
summary: Ruby notifier for bugsnag.com
|