aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/metal
diff options
context:
space:
mode:
authorDieter Komendera <dieter@komendera.com>2014-12-09 10:55:58 +0100
committerDieter Komendera <dieter@komendera.com>2014-12-10 22:13:13 +0100
commit2fde159f6b22fa45f132ba25c48eb3c371ead949 (patch)
tree0a75df25566bf19a0848711ea221051949f2cdbb /actionpack/lib/action_controller/metal
parentefe80bce9765f7fcc1d09338a212f8ea1c4d7a7a (diff)
downloadrails-2fde159f6b22fa45f132ba25c48eb3c371ead949.tar.gz
rails-2fde159f6b22fa45f132ba25c48eb3c371ead949.tar.bz2
rails-2fde159f6b22fa45f132ba25c48eb3c371ead949.zip
Ensure append_info_to_payload is called even if an exception is raised.
See: * https://github.com/rails/rails/pull/14903 * https://github.com/roidrage/lograge/issues/37 Some code by mxrguspxrt from #14903.
Diffstat (limited to 'actionpack/lib/action_controller/metal')
-rw-r--r--actionpack/lib/action_controller/metal/instrumentation.rb11
1 files changed, 7 insertions, 4 deletions
diff --git a/actionpack/lib/action_controller/metal/instrumentation.rb b/actionpack/lib/action_controller/metal/instrumentation.rb
index bef7545e71..a3e1a71b0a 100644
--- a/actionpack/lib/action_controller/metal/instrumentation.rb
+++ b/actionpack/lib/action_controller/metal/instrumentation.rb
@@ -28,10 +28,13 @@ module ActionController
ActiveSupport::Notifications.instrument("start_processing.action_controller", raw_payload.dup)
ActiveSupport::Notifications.instrument("process_action.action_controller", raw_payload) do |payload|
- result = super
- payload[:status] = response.status
- append_info_to_payload(payload)
- result
+ begin
+ result = super
+ payload[:status] = response.status
+ result
+ ensure
+ append_info_to_payload(payload)
+ end
end
end