A request handler for Rack applications.

Methods
Public Class methods
new(owner_pipe, app)

app is the Rack application object.

    # File lib/passenger/rack/request_handler.rb, line 43
43:         def initialize(owner_pipe, app)
44:                 super(owner_pipe)
45:                 @app = app
46:         end
Protected Instance methods
process_request(env, input, output)

Overrided method.

    # File lib/passenger/rack/request_handler.rb, line 50
50:         def process_request(env, input, output)
51:                 env[RACK_VERSION]      = RACK_VERSION_VALUE
52:                 env[RACK_INPUT]        = input
53:                 env[RACK_ERRORS]       = STDERR
54:                 env[RACK_MULTITHREAD]  = false
55:                 env[RACK_MULTIPROCESS] = true
56:                 env[RACK_RUN_ONCE]     = false
57:                 env[SCRIPT_NAME]     ||= ''
58:                 env[PATH_INFO].sub!(/^#{Regexp.escape(env[SCRIPT_NAME])}/, "")
59:                 if env[HTTPS] == YES || env[HTTPS] == ON || env[HTTPS] == ONE
60:                         env[RACK_URL_SCHEME] = HTTPS_DOWNCASE
61:                 else
62:                         env[RACK_URL_SCHEME] = HTTP
63:                 end
64:                 
65:                 status, headers, body = @app.call(env)
66:                 begin
67:                         output.write("Status: #{status}#{CRLF}")
68:                         headers[X_POWERED_BY] = PASSENGER_HEADER
69:                         headers.each do |k, vs|
70:                                 vs.each do |v|
71:                                         output.write("#{k}: #{v}#{CRLF}")
72:                                 end
73:                         end
74:                         output.write(CRLF)
75:                         if body
76:                                 body.each do |s|
77:                                         output.write(s)
78:                                 end
79:                         end
80:                 ensure
81:                         body.close if body.respond_to?(:close)
82:                 end
83:         end