method
call_app
v7.2.3 -
Show latest stable
- Class:
Rails::Rack::Logger
call_app(request, env)private
No documentation available.
# File railties/lib/rails/rack/logger.rb, line 33
def call_app(request, env) # :doc:
logger_tag_pop_count = env["rails.rack_logger_tag_count"]
instrumenter = ActiveSupport::Notifications.instrumenter
handle = instrumenter.build_handle("request.action_dispatch", { request: request })
handle.start
logger.info { started_request_message(request) }
status, headers, body = response = @app.call(env)
body = ::Rack::BodyProxy.new(body) { finish_request_instrumentation(handle, logger_tag_pop_count) }
if response.frozen?
[status, headers, body]
else
response[2] = body
response
end
rescue Exception
finish_request_instrumentation(handle, logger_tag_pop_count)
raise
end