From 1a449c8abafbb17f9e7c2d68363957c80dc1ab86 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 19 Jan 2011 16:23:54 -0800 Subject: remove support for X-Rainbows-* headers We guarantee the Rack env will exist for the duration of the request/response cycle, so we can just tweak "rainbows.autochunk". --- lib/rainbows/dev_fd_response.rb | 2 +- lib/rainbows/ev_core.rb | 2 +- lib/rainbows/response.rb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'lib/rainbows') 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 -- cgit v1.2.3-24-ge0c7