diff options
author | Fumiaki MATSUSHIMA <mtsmfm@gmail.com> | 2015-06-14 23:10:27 +0900 |
---|---|---|
committer | Fumiaki MATSUSHIMA <mtsmfm@gmail.com> | 2015-06-14 23:20:04 +0900 |
commit | bb0186cf5542bca1891e507774447588846f88d1 (patch) | |
tree | f77e298eec7038864e99bbe04f036dfb5d716bbb /actionpack/test | |
parent | 88cd09fa47ddf9ea952b2c4d117d725b0d537bae (diff) | |
download | rails-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')
-rw-r--r-- | actionpack/test/dispatch/ssl_test.rb | 11 |
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 |