Provide callbacks to be executed before and after the request dispatch.
# File lib/action_dispatch/middleware/callbacks.rb, line 17 def self.after(*args, &block) set_callback(:call, :after, *args, &block) end
# File lib/action_dispatch/middleware/callbacks.rb, line 13 def self.before(*args, &block) set_callback(:call, :before, *args, &block) end
# File lib/action_dispatch/middleware/callbacks.rb, line 21 def initialize(app) @app = app end
# File lib/action_dispatch/middleware/callbacks.rb, line 25 def call(env) error = nil result = run_callbacks :call do begin @app.call(env) rescue => error end end raise error if error result end