class Falcon::Adapters::Response
def self.wrap(status, headers, body)
def self.wrap(status, headers, body) headers = wrap_headers(headers) headers.add('server', "falcon/#{Falcon::VERSION}") headers.add('date', Time.now.httpdate) body = Output.wrap(status, headers, body) return self.new(status, headers, body) end
def self.wrap_headers(fields)
def self.wrap_headers(fields) headers = ::HTTP::Protocol::Headers.new fields.each do |key, value| next if key.start_with? 'rack.' # This is a quick fix, but perhaps it should be part of the protocol, because it IS valid for HTTP/1. key = key.downcase value.to_s.split("\n").each do |part| headers.add(key, part) end end return headers end
def initialize(status, headers, body)
def initialize(status, headers, body) super(nil, status, nil, headers, body) end