module Rack::Promises

Constants

VERSION

Public Instance Methods

call(env) click to toggle source
# File lib/rack/promises.rb, line 3
def call(env)
  raise NoPromiseCallError unless defined?(pcall)
  result = pcall(env)
  if result.is_a?(EventMachine::Q::Promise)
    result.then do |return_value|
      env['async.callback'].call(return_value)
    end
    throw :async
  end
  return result
end