class WebMock::RackResponse
def build_rack_env(request)
def build_rack_env(request) uri = request.uri headers = (request.headers || {}).dup body = request.body || '' env = { # CGI variables specified by Rack 'REQUEST_METHOD' => request.method.to_s.upcase, 'CONTENT_TYPE' => headers.delete('Content-Type'), 'CONTENT_LENGTH' => body.bytesize, 'PATH_INFO' => uri.path, 'QUERY_STRING' => uri.query || '', 'SERVER_NAME' => uri.host, 'SERVER_PORT' => uri.port, 'SCRIPT_NAME' => "" } env['HTTP_AUTHORIZATION'] = 'Basic ' + [uri.userinfo].pack('m').delete("\r\n") if uri.userinfo # Rack-specific variables env['rack.input'] = StringIO.new(body) env['rack.errors'] = $stderr if !Rack.const_defined?(:RELEASE) || Rack::RELEASE < "3" env['rack.version'] = Rack::VERSION end env['rack.url_scheme'] = uri.scheme env['rack.run_once'] = true env['rack.session'] = session env['rack.session.options'] = session_options headers.each do |k, v| env["HTTP_#{k.tr('-','_').upcase}"] = v end env end