jefferies_tube 1.7.8 → 1.7.9
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 +3 -0
- data/lib/jefferies_tube/invalid_request_handler.rb +2 -0
- data/lib/jefferies_tube/railtie.rb +29 -0
- data/lib/jefferies_tube/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 871cc47167080e2ec82b5783a0f78bf2e3db9d66ffba35e3315bd66560225bf1
|
|
4
|
+
data.tar.gz: dd2bd0f2ca231feea95bd7bc75017a0442b21887f535b227c455e22609006827
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 067bc30d790bb14ad3c91eb18710e1aa20ba75276426a9ea4e2d2babfba313caae6f1571fbd7753c6a01a5f5f59dce8793ffcdbff7304e58ac69bc4627d992f7
|
|
7
|
+
data.tar.gz: ccd1b5de8c012e557d30dbfef2891c33abc82de11f5e60a03999683b372b734748962cdfad4f3c5498f78010d8e5372bb68507cf202164c56a786dede7cc0d87
|
data/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,9 @@ This project attempts to follow [semantic versioning](https://semver.org/)
|
|
|
6
6
|
|
|
7
7
|
## Unreleased
|
|
8
8
|
|
|
9
|
+
## 1.7.9
|
|
10
|
+
* Configure NewRelic to ignore invalid request errors caught by InvaildRequestHandler middleware
|
|
11
|
+
|
|
9
12
|
## 1.7.8
|
|
10
13
|
* Update middleware to rescue from more invalid requests
|
|
11
14
|
|
|
@@ -101,6 +101,35 @@ module JefferiesTube
|
|
|
101
101
|
config.middleware.insert_before Rack::Head, JefferiesTube::InvaildRequestHandler
|
|
102
102
|
end
|
|
103
103
|
|
|
104
|
+
# This filter must match the error types rescued in InvaildRequestHandler.
|
|
105
|
+
# If you update the rescue logic there, update the cases here too.
|
|
106
|
+
config.after_initialize do
|
|
107
|
+
if defined?(NewRelic::Agent) && NewRelic::Agent.respond_to?(:ignore_error_filter)
|
|
108
|
+
existing_filter = NewRelic::Agent::ErrorCollector.ignore_error_filter
|
|
109
|
+
puts "[JefferiesTube] Configuring NewRelic ignore_error_filter for invalid request errors"
|
|
110
|
+
|
|
111
|
+
NewRelic::Agent.ignore_error_filter do |error|
|
|
112
|
+
keep = case error
|
|
113
|
+
when ActionDispatch::Http::MimeNegotiation::InvalidType
|
|
114
|
+
false
|
|
115
|
+
when ArgumentError
|
|
116
|
+
!(error.message =~ /invalid byte sequence in UTF-8/ ||
|
|
117
|
+
error.message =~ /invalid %-encoding/)
|
|
118
|
+
when ActionController::BadRequest
|
|
119
|
+
!(error.message =~ /invalid %-encoding/ ||
|
|
120
|
+
error.message =~ /Invalid encoding for parameter/)
|
|
121
|
+
else
|
|
122
|
+
true
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
keep && (existing_filter.nil? || existing_filter.call(error))
|
|
126
|
+
end
|
|
127
|
+
elsif defined?(NewRelic::Agent)
|
|
128
|
+
puts "[JefferiesTube] NewRelic::Agent.ignore_error_filter is not available. " \
|
|
129
|
+
"Invalid request errors may still be reported to NewRelic."
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
|
|
104
133
|
rake_tasks do
|
|
105
134
|
task(:default).clear
|
|
106
135
|
if defined?(RSpec)
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: jefferies_tube
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.7.
|
|
4
|
+
version: 1.7.9
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Brian Samson
|
|
@@ -226,7 +226,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
226
226
|
- !ruby/object:Gem::Version
|
|
227
227
|
version: '0'
|
|
228
228
|
requirements: []
|
|
229
|
-
rubygems_version: 4.0.
|
|
229
|
+
rubygems_version: 4.0.8
|
|
230
230
|
specification_version: 4
|
|
231
231
|
summary: Ten Forward Consulting useful tools.
|
|
232
232
|
test_files:
|