method
process_action
rails latest stable - Class:
ActionController::Instrumentation
process_action(*)private
No documentation available.
# File actionpack/lib/action_controller/metal/instrumentation.rb, line 57
def process_action(*)
ActiveSupport::ExecutionContext[:controller] = self
raw_payload = {
controller: self.class.name,
action: action_name,
request: request,
params: request.filtered_parameters,
headers: request.headers,
format: request.format.ref,
method: request.request_method,
path: request.filtered_path
}
ActiveSupport::Notifications.instrument("start_processing.action_controller", raw_payload)
ActiveSupport::Notifications.instrument("process_action.action_controller", raw_payload) do |payload|
result = super
payload[:response] = response
payload[:status] = response.status
result
rescue => error
payload[:status] = ActionDispatch::ExceptionWrapper.status_code_for_exception(error.class.name)
raise
ensure
append_info_to_payload(payload)
end
end