Class: TUB::UpgradeApp

Inherits:
Object
  • Object
show all
Defined in:
lib/tub/upgradable_tcp_server.rb

Instance Method Summary collapse

Constructor Details

#initialize(conn, app) ⇒ UpgradeApp

Returns a new instance of UpgradeApp.



29
30
31
32
# File 'lib/tub/upgradable_tcp_server.rb', line 29

def initialize(conn, app)
  @conn = conn
  @app = app
end

Instance Method Details

#call(env) ⇒ Object



34
35
36
37
38
39
40
41
# File 'lib/tub/upgradable_tcp_server.rb', line 34

def call(env)
  if env["HTTP_UPGRADE"]
    @conn.upgrade!
    [101, { "Upgrade" => env["HTTP_UPGRADE"], "Connection" => "Upgrade" }, []]
  else
    @app.call(env)
  end
end