This class is used to instrument the execution of a single middleware. It proxies the call method transparently and instruments the method call.

Methods

Constants

EVENT_NAME = "process_middleware.action_dispatch"
 

Class Public methods

new(middleware, class_name)

# File actionpack/lib/action_dispatch/middleware/stack.rb, line 51
def initialize(middleware, class_name)
  @middleware = middleware

  @payload = {
    middleware: class_name,
  }
end

Instance Public methods

call(env)

# File actionpack/lib/action_dispatch/middleware/stack.rb, line 59
def call(env)
  ActiveSupport::Notifications.instrument(EVENT_NAME, @payload) do
    @middleware.call(env)
  end
end