about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2011-01-07 10:14:46 -0800
committerEric Wong <normalperson@yhbt.net>2011-01-07 10:19:20 -0800
commitec400a537a0947796e108f3593721289661b49dc (patch)
tree9a601224a343264ac4a6a6da80b27fa0597b9c1e
parent5ebd22a9d28fc96c69c09b695d99c1f173ce5a67 (diff)
downloadunicorn-ec400a537a0947796e108f3593721289661b49dc.tar.gz
Rack::Lint already stops apps from using it.  If a developer
insists on it, then users who inspect their HTTP headers can
point and laugh at them for not using Rack::Lint!
-rw-r--r--lib/unicorn/http_response.rb2
-rw-r--r--test/unit/test_response.rb12
2 files changed, 1 insertions, 13 deletions
diff --git a/lib/unicorn/http_response.rb b/lib/unicorn/http_response.rb
index 62b3ee9..03d3179 100644
--- a/lib/unicorn/http_response.rb
+++ b/lib/unicorn/http_response.rb
@@ -26,7 +26,7 @@ module Unicorn::HttpResponse
             "Status: #{status}\r\n" \
             "Connection: close\r\n"
       headers.each do |key, value|
-        next if %r{\A(?:Date\z|Status\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
diff --git a/test/unit/test_response.rb b/test/unit/test_response.rb
index c3d9baf..fb6edef 100644
--- a/test/unit/test_response.rb
+++ b/test/unit/test_response.rb
@@ -73,18 +73,6 @@ class ResponseTest < Test::Unit::TestCase
     assert_equal 1, out.string.split(/\r\n/).grep(/^Status: 200 OK/i).size
   end
 
-  # we always favor the code returned by the application, since "Status"
-  # in the header hash is not allowed by Rack (but not every app is
-  # fully Rack-compliant).
-  def test_status_header_ignores_app_hash
-    out = StringIO.new
-    header_hash = {"X-Whatever" => "stuff", 'StaTus' => "666" }
-    http_response_write(out,200, header_hash, [])
-    assert ! out.closed?
-    assert_equal 1, out.string.split(/\r\n/).grep(/^Status: 200 OK/i).size
-    assert_equal 1, out.string.split(/\r\n/).grep(/^Status:/i).size
-  end
-
   def test_body_closed
     expect_body = %w(1 2 3 4).join("\n")
     body = StringIO.new(expect_body)