lib/reel/response.rb in reel-0.4.0 vs lib/reel/response.rb in reel-0.5.0.pre
- old
+ new
@@ -1,9 +1,9 @@
+require 'http/headers'
+
module Reel
class Response
- include HTTP::Header
-
CONTENT_LENGTH = 'Content-Length'.freeze
TRANSFER_ENCODING = 'Transfer-Encoding'.freeze
CHUNKED = 'chunked'.freeze
# Use status code tables from the HTTP gem
@@ -34,16 +34,16 @@
headers[TRANSFER_ENCODING] ||= CHUNKED
when NilClass
else raise TypeError, "can't render #{@body.class} as a response body"
end
- @headers = canonicalize_headers(headers)
+ @headers = HTTP::Headers.coerce(headers)
@version = http_version
end
def chunked?
- headers[TRANSFER_ENCODING] == CHUNKED
+ headers[TRANSFER_ENCODING].to_s == CHUNKED
end
# Set the status
def status=(status, reason=nil)
case status
@@ -58,16 +58,9 @@
end
else
raise TypeError, "invalid status type: #{status.inspect}"
end
end
-
- def canonicalize_headers(headers)
- headers.inject({}) do |headers, (header, value)|
- headers.merge canonicalize_header(header) => value.to_s
- end.freeze
- end
- private :canonicalize_headers
def http_version
# FIXME: real HTTP versioning
"HTTP/1.1".freeze
end