Class: Cyberweb::REST::ExtendedRack

Inherits:
Struct
  • Object
show all
Defined in:
lib/cyberweb/REST/base/extended_rack.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#appObject

Returns the value of attribute app

Returns:

  • (Object)

    the current value of app



21
22
23
# File 'lib/cyberweb/REST/base/extended_rack.rb', line 21

def app
  @app
end

Instance Method Details

#call(env) ⇒ Object

#

call

#


26
27
28
29
30
31
32
33
34
# File 'lib/cyberweb/REST/base/extended_rack.rb', line 26

def call(env)
  result = app.call(env)
  callback = env['async.callback']
  return result unless callback && async?(*result)

  after_response { callback.call result }
  setup_close(env, *result)
  throw :async
end