13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'actionpack/lib/action_dispatch/middleware/executor.rb', line 13
def call(env)
state = @executor.run!(reset: true)
begin
response = @app.call(env)
if env["action_dispatch.report_exception"]
error = env["action_dispatch.exception"]
@executor.error_reporter.report(error, handled: false, source: "application.action_dispatch")
end
returned = response << ::Rack::BodyProxy.new(response.pop) { state.complete! }
rescue => error
@executor.error_reporter.report(error, handled: false, source: "application.action_dispatch")
raise
ensure
state.complete! unless returned
end
end
|