aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--actionpack/lib/action_controller/base.rb4
-rw-r--r--actionpack/test/controller/render_test.rb2
2 files changed, 4 insertions, 2 deletions
diff --git a/actionpack/lib/action_controller/base.rb b/actionpack/lib/action_controller/base.rb
index 5da47ce317..9d06d052b4 100644
--- a/actionpack/lib/action_controller/base.rb
+++ b/actionpack/lib/action_controller/base.rb
@@ -1205,10 +1205,12 @@ module ActionController #:nodoc:
cache_control = response.headers["Cache-Control"].split(",").map {|k| k.strip }
cache_control << "max-age=#{seconds}"
+ cache_control.delete("no-cache")
if options[:public]
cache_control.delete("private")
- cache_control.delete("no-cache")
cache_control << "public"
+ else
+ cache_control << "private"
end
# This allows for additional headers to be passed through like 'max-stale' => 5.hours
diff --git a/actionpack/test/controller/render_test.rb b/actionpack/test/controller/render_test.rb
index 02ae8ac942..2f4cc5a615 100644
--- a/actionpack/test/controller/render_test.rb
+++ b/actionpack/test/controller/render_test.rb
@@ -1509,7 +1509,7 @@ class ExpiresInRenderTest < ActionController::TestCase
assert_equal "max-age=60, private", @response.headers["Cache-Control"]
end
- def test_expires_in_header
+ def test_expires_in_header_with_public
get :conditional_hello_with_expires_in_with_public
assert_equal "max-age=60, public", @response.headers["Cache-Control"]
end