aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorAaron Patterson <tenderlove@github.com>2019-02-25 13:33:22 -0800
committerGitHub <noreply@github.com>2019-02-25 13:33:22 -0800
commit790a3e69acb2fa172c6bce45e040e9f15d9bef3d (patch)
treefc6f2491bfbf7585466f908956745ecb0cf53b98 /actionpack
parentd1f68b50487ea1a8fc7f822973e2cc46d1288060 (diff)
parent12c6e7b300d312fbaa6fd2d2d546419ff67bf910 (diff)
downloadrails-790a3e69acb2fa172c6bce45e040e9f15d9bef3d.tar.gz
rails-790a3e69acb2fa172c6bce45e040e9f15d9bef3d.tar.bz2
rails-790a3e69acb2fa172c6bce45e040e9f15d9bef3d.zip
Merge pull request #35400 from aglushkov/stream_manual_cache_control
Allow custom cache-control header in AC::Live
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/lib/action_controller/metal/live.rb2
-rw-r--r--actionpack/test/dispatch/live_response_test.rb8
2 files changed, 8 insertions, 2 deletions
diff --git a/actionpack/lib/action_controller/metal/live.rb b/actionpack/lib/action_controller/metal/live.rb
index 083b762f5a..eb43ff9c63 100644
--- a/actionpack/lib/action_controller/metal/live.rb
+++ b/actionpack/lib/action_controller/metal/live.rb
@@ -146,7 +146,7 @@ module ActionController
def write(string)
unless @response.committed?
- @response.set_header "Cache-Control", "no-cache"
+ @response.headers["Cache-Control"] ||= "no-cache"
@response.delete_header "Content-Length"
end
diff --git a/actionpack/test/dispatch/live_response_test.rb b/actionpack/test/dispatch/live_response_test.rb
index b673fd3805..f2459112b2 100644
--- a/actionpack/test/dispatch/live_response_test.rb
+++ b/actionpack/test/dispatch/live_response_test.rb
@@ -51,11 +51,17 @@ module ActionController
assert_equal ["omg"], @response.body_parts
end
- def test_cache_control_is_set
+ def test_cache_control_is_set_by_default
@response.stream.write "omg"
assert_equal "no-cache", @response.headers["Cache-Control"]
end
+ def test_cache_control_is_set_manually
+ @response.set_header("Cache-Control", "public")
+ @response.stream.write "omg"
+ assert_equal "public", @response.headers["Cache-Control"]
+ end
+
def test_content_length_is_removed
@response.headers["Content-Length"] = "1234"
@response.stream.write "omg"