about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2011-01-19 16:23:54 -0800
committerEric Wong <normalperson@yhbt.net>2011-01-19 16:23:54 -0800
commit1a449c8abafbb17f9e7c2d68363957c80dc1ab86 (patch)
tree3d16f855a21a09bf273caad660c28ca4797580fb /lib
parent9424b13255a238dfa44952ebeb07bea3acee999c (diff)
downloadrainbows-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.rb2
-rw-r--r--lib/rainbows/ev_core.rb2
-rw-r--r--lib/rainbows/response.rb2
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