Class: Rack::KeepAlive

Inherits:
Object show all
Defined in:
lib/volt/server/rack/keep_alive.rb

Overview

TODO: For some reason in Rack (or maybe thin), 304 headers close the http connection. We might need to make this check if keep alive was in the request.

Instance Method Summary collapse

Constructor Details

#initialize(app) ⇒ KeepAlive

Returns a new instance of KeepAlive.



6
7
8
# File 'lib/volt/server/rack/keep_alive.rb', line 6

def initialize(app)
  @app = app
end

Instance Method Details

#call(env) ⇒ Object



10
11
12
13
14
15
16
17
18
# File 'lib/volt/server/rack/keep_alive.rb', line 10

def call(env)
  status, headers, body = @app.call(env)

  if status == 304 && env['HTTP_CONNECTION'] && env['HTTP_CONNECTION'].downcase == 'keep-alive'
    headers['Connection'] = 'keep-alive'
  end

  [status, headers, body]
end