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