diff options
Diffstat (limited to 'lib/rack/response.rb')
-rw-r--r-- | lib/rack/response.rb | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/rack/response.rb b/lib/rack/response.rb index 12536710..7f0c6b71 100644 --- a/lib/rack/response.rb +++ b/lib/rack/response.rb @@ -20,11 +20,13 @@ module Rack class Response attr_accessor :length + CHUNKED = 'chunked'.freeze + TRANSFER_ENCODING = 'Transfer-Encoding'.freeze def initialize(body=[], status=200, header={}) @status = status.to_i @header = Utils::HeaderHash.new.merge(header) - @chunked = "chunked" == @header['Transfer-Encoding'] + @chunked = CHUNKED == @header[TRANSFER_ENCODING] @writer = lambda { |x| @body << x } @block = nil @length = 0 @@ -72,8 +74,8 @@ module Rack @block = block if [204, 205, 304].include?(status.to_i) - header.delete "Content-Type" - header.delete "Content-Length" + header.delete CONTENT_TYPE + header.delete CONTENT_LENGTH close [status.to_i, header, []] else @@ -98,7 +100,7 @@ module Rack @length += Rack::Utils.bytesize(s) unless @chunked @writer.call s - header["Content-Length"] = @length.to_s unless @chunked + header[CONTENT_LENGTH] = @length.to_s unless @chunked str end @@ -142,11 +144,11 @@ module Rack end def content_type - headers["Content-Type"] + headers[CONTENT_TYPE] end def content_length - cl = headers["Content-Length"] + cl = headers[CONTENT_LENGTH] cl ? cl.to_i : cl end |