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)

Append a list of newline encoded headers.
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