frontend_rescue 0.0.3 → 0.0.4
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/README.md +10 -8
- data/lib/frontend_rescue/error.rb +5 -2
- data/lib/frontend_rescue/middleware.rb +2 -1
- data/lib/frontend_rescue/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0fda4d01d4e18248e2dc62a9f6ac457ee578a889
|
4
|
+
data.tar.gz: a57aef9f1d3e6740b02de3b9bcc35bc582fbfd08
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5d13f714ef8d075999b8b258761be69bf72663116700c6c38076c46201c0673a50aafb4a26b18cd22f859da5303b17e696625e6de775c977a0917e1d21c2e40a
|
7
|
+
data.tar.gz: d6dc62a6ce94bba3639ad268a13e31b181cf8de117ca7f9c9b5e1fc22d0da4f283781aa6e1acc11024f96de18d6ea5f0bf7a8afc1e6f9d86ad2f239a2aa83798
|
data/README.md
CHANGED
@@ -29,7 +29,7 @@ Or install it yourself as:
|
|
29
29
|
Use the frontend_rescue middleware :
|
30
30
|
|
31
31
|
Rails.application.configure do
|
32
|
-
config.middleware.use FrontendRescue::Middleware
|
32
|
+
config.middleware.use FrontendRescue::Middleware
|
33
33
|
end
|
34
34
|
|
35
35
|
#### Options
|
@@ -40,8 +40,7 @@ By default, frontend_rescue will respond with a ```500 (Server Error)```.
|
|
40
40
|
|
41
41
|
You can override this value with any HTTP status code you like :
|
42
42
|
|
43
|
-
config.middleware.use FrontendRescue::Middleware,
|
44
|
-
status_code: 200
|
43
|
+
config.middleware.use FrontendRescue::Middleware, status_code: 200
|
45
44
|
|
46
45
|
**silent**
|
47
46
|
|
@@ -49,6 +48,10 @@ By default, frontend_rescue will output the frontend error to the logs.
|
|
49
48
|
|
50
49
|
You can pass in ```silent: true```, frontend errors are not logged. You will likely use this option when passing a block.
|
51
50
|
|
51
|
+
**paths**
|
52
|
+
|
53
|
+
By default, frontend_rescue will take post requests from ```/frontend-error```. You can override this behavior by passing in an array of ``` paths: ['/client/error'] ```
|
54
|
+
|
52
55
|
**exclude_user_agent**
|
53
56
|
|
54
57
|
You might want to ignore certain user agents. You can exlude user agents with a Regexp: ```exclude_user_agent: /Googlebot/```.
|
@@ -57,16 +60,14 @@ You might want to ignore certain user agents. You can exlude user agents with a
|
|
57
60
|
|
58
61
|
You can pass in a block to frontend_rescue and it will be called and passed a FrontendRescue::Error and a Rack::Request :
|
59
62
|
|
60
|
-
config.middleware.use FrontendRescue::Middleware,
|
61
|
-
status_code: 200,
|
62
|
-
silent: true do |error, request|
|
63
|
+
config.middleware.use FrontendRescue::Middleware, status_code: 200, silent: true do |error, request|
|
63
64
|
NewRelic::Agent.notice_error(error)
|
64
65
|
end
|
65
66
|
|
66
67
|
|
67
68
|
#### Sinatra
|
68
69
|
|
69
|
-
use FrontendRescue::Middleware
|
70
|
+
use FrontendRescue::Middleware
|
70
71
|
|
71
72
|
With the options described above.
|
72
73
|
|
@@ -83,7 +84,8 @@ Ember example :
|
|
83
84
|
name: 'My App',
|
84
85
|
user_agent: navigator.userAgent,
|
85
86
|
message: error.message,
|
86
|
-
stack: error.stack
|
87
|
+
stack: error.stack,
|
88
|
+
custom_params: {version: '1.0.0'}
|
87
89
|
}
|
88
90
|
});
|
89
91
|
};
|
@@ -1,13 +1,16 @@
|
|
1
1
|
module FrontendRescue
|
2
2
|
class Error < StandardError
|
3
|
-
def initialize(name, user_agent, message, trace)
|
3
|
+
def initialize(name, user_agent, message, trace, params)
|
4
4
|
@trace = trace.split("\n") rescue []
|
5
5
|
@user_agent = user_agent
|
6
|
+
@params = params || {}
|
6
7
|
super "Uncaught #{name} Error: #{message}"
|
7
8
|
end
|
8
9
|
|
9
10
|
def backtrace
|
10
|
-
["User Agent: #{user_agent}"] +
|
11
|
+
["User Agent: #{user_agent}"] +
|
12
|
+
@params.map{|k, v| "#{k}: #{v}"} +
|
13
|
+
@trace
|
11
14
|
end
|
12
15
|
|
13
16
|
def user_agent
|
@@ -21,7 +21,8 @@ module FrontendRescue
|
|
21
21
|
error = FrontendRescue::Error.new request.params['name'],
|
22
22
|
request.params['user_agent'],
|
23
23
|
request.params['message'],
|
24
|
-
request.params['stack']
|
24
|
+
request.params['stack'],
|
25
|
+
request.params['custom_params']
|
25
26
|
|
26
27
|
request.env['rack.errors'].puts "Processing #{error.class}" unless silent?
|
27
28
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: frontend_rescue
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jim Durand
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-04-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|