diff options
author | Eric Wong <normalperson@yhbt.net> | 2011-01-19 16:23:54 -0800 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2011-01-19 16:23:54 -0800 |
commit | 1a449c8abafbb17f9e7c2d68363957c80dc1ab86 (patch) | |
tree | 3d16f855a21a09bf273caad660c28ca4797580fb /lib | |
parent | 9424b13255a238dfa44952ebeb07bea3acee999c (diff) | |
download | rainbows-1a449c8abafbb17f9e7c2d68363957c80dc1ab86.tar.gz |
We guarantee the Rack env will exist for the duration of the request/response cycle, so we can just tweak "rainbows.autochunk".
Diffstat (limited to 'lib')
-rw-r--r-- | lib/rainbows/dev_fd_response.rb | 2 | ||||
-rw-r--r-- | lib/rainbows/ev_core.rb | 2 | ||||
-rw-r--r-- | lib/rainbows/response.rb | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/lib/rainbows/dev_fd_response.rb b/lib/rainbows/dev_fd_response.rb index 17081e3..1d50a2c 100644 --- a/lib/rainbows/dev_fd_response.rb +++ b/lib/rainbows/dev_fd_response.rb @@ -51,7 +51,7 @@ class Rainbows::DevFdResponse < Struct.new(:app) if env['rainbows.autochunk'] headers['Transfer-Encoding'] = 'chunked' else - headers['X-Rainbows-Autochunk'] = 'no' + env['rainbows.autochunk'] = false end end diff --git a/lib/rainbows/ev_core.rb b/lib/rainbows/ev_core.rb index b9b3381..d958b18 100644 --- a/lib/rainbows/ev_core.rb +++ b/lib/rainbows/ev_core.rb @@ -55,7 +55,7 @@ module Rainbows::EvCore rv = false else rv = !!(headers[Transfer_Encoding] =~ %r{\Achunked\z}i) - rv = false if headers.delete('X-Rainbows-Autochunk') == 'no' + rv = false unless @env["rainbows.autochunk"] end write_headers(status, headers, alive) rv diff --git a/lib/rainbows/response.rb b/lib/rainbows/response.rb index 0212cdb..2c517f8 100644 --- a/lib/rainbows/response.rb +++ b/lib/rainbows/response.rb @@ -26,7 +26,7 @@ module Rainbows::Response "Status: #{status}\r\n" \ "Connection: #{alive ? KeepAlive : Close}\r\n" headers.each do |key, value| - next if %r{\A(?:X-Rainbows-|Date\z|Connection\z)}i =~ key + next if %r{\A(?:Date\z|Connection\z)}i =~ key if value =~ /\n/ # avoiding blank, key-only cookies with /\n+/ buf << value.split(/\n+/).map! { |v| "#{key}: #{v}\r\n" }.join |