aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/dispatch/ssl_test.rb
diff options
context:
space:
mode:
authorFumiaki MATSUSHIMA <mtsmfm@gmail.com>2015-06-14 23:10:27 +0900
committerFumiaki MATSUSHIMA <mtsmfm@gmail.com>2015-06-14 23:20:04 +0900
commitbb0186cf5542bca1891e507774447588846f88d1 (patch)
treef77e298eec7038864e99bbe04f036dfb5d716bbb /actionpack/test/dispatch/ssl_test.rb
parent88cd09fa47ddf9ea952b2c4d117d725b0d537bae (diff)
downloadrails-bb0186cf5542bca1891e507774447588846f88d1.tar.gz
rails-bb0186cf5542bca1891e507774447588846f88d1.tar.bz2
rails-bb0186cf5542bca1891e507774447588846f88d1.zip
ActionDispatch::SSL should keep original header's behavior
`ActionDispatch::SSL` changes headers to `Hash`. So some headers will be broken if there are some middlewares on ActionDispatch::SSL and if it uses `Rack::Utils::HeaderHash`.
Diffstat (limited to 'actionpack/test/dispatch/ssl_test.rb')
-rw-r--r--actionpack/test/dispatch/ssl_test.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/actionpack/test/dispatch/ssl_test.rb b/actionpack/test/dispatch/ssl_test.rb
index 7ced41bc2e..017e9ba2dd 100644
--- a/actionpack/test/dispatch/ssl_test.rb
+++ b/actionpack/test/dispatch/ssl_test.rb
@@ -216,4 +216,15 @@ class SSLTest < ActionDispatch::IntegrationTest
assert_equal "https://example.co.uk/path?key=value",
response.headers['Location']
end
+
+ def test_keeps_original_headers_behavior
+ headers = Rack::Utils::HeaderHash.new(
+ "Content-Type" => "text/html",
+ "Connection" => ["close"]
+ )
+ self.app = ActionDispatch::SSL.new(lambda { |env| [200, headers, ["OK"]] })
+
+ get "https://example.org/"
+ assert_equal "close", response.headers["Connection"]
+ end
end