8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/erorr/middleware/rack.rb', line 8
def call(env)
begin
response = @app.call(env)
rescue Exception => exception
request = ActionDispatch::Request.new env
= request..env.select{|k, _| k.in?(ActionDispatch::Http::Headers::CGI_VARIABLES) || k =~ /^HTTP_/}
location = request.parameters.values_at('controller', 'action').compact.join('#')
location = location.presence || "#{['REQUEST_METHOD']} #{['PATH_INFO']}"
request_params = {
params: request.parameters,
remote_ip: request.remote_ip,
headers: ,
}
Erorr.notify exception, location: location, request: request_params
raise
end
response
ensure
end
|