class ActionDispatch::Executor

Public Class Methods

new(app, executor) click to toggle source
# File lib/action_dispatch/middleware/executor.rb, line 7
def initialize(app, executor)
  @app, @executor = app, executor
end

Public Instance Methods

call(env) click to toggle source
# File lib/action_dispatch/middleware/executor.rb, line 11
def call(env)
  state = @executor.run!
  begin
    response = @app.call(env)
    returned = response << ::Rack::BodyProxy.new(response.pop) { state.complete! }
  ensure
    state.complete! unless returned
  end
end