aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/metal/conditional_get.rb
diff options
context:
space:
mode:
authorarvida <arvid@winstondesign.se>2011-10-31 10:27:23 +0100
committerarvida <arvid@winstondesign.se>2011-10-31 10:27:23 +0100
commit2a7230aa997b19971b39812893d79ca3f6c3bb47 (patch)
tree2217181074310ec45a66fd4ec2fcc16a62e1771a /actionpack/lib/action_controller/metal/conditional_get.rb
parent964b2826c44888a310488fd3ce297b68e1dbf670 (diff)
downloadrails-2a7230aa997b19971b39812893d79ca3f6c3bb47.tar.gz
rails-2a7230aa997b19971b39812893d79ca3f6c3bb47.tar.bz2
rails-2a7230aa997b19971b39812893d79ca3f6c3bb47.zip
Ensuring a HTTP Date header when setting Cache-Control's max-age with #expires_in
Diffstat (limited to 'actionpack/lib/action_controller/metal/conditional_get.rb')
-rw-r--r--actionpack/lib/action_controller/metal/conditional_get.rb3
1 files changed, 3 insertions, 0 deletions
diff --git a/actionpack/lib/action_controller/metal/conditional_get.rb b/actionpack/lib/action_controller/metal/conditional_get.rb
index a5e37172c9..809894395d 100644
--- a/actionpack/lib/action_controller/metal/conditional_get.rb
+++ b/actionpack/lib/action_controller/metal/conditional_get.rb
@@ -70,11 +70,14 @@ module ActionController
#
# This method will overwrite an existing Cache-Control header.
# See http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html for more possibilities.
+ #
+ # The method will also ensure a HTTP Date header for client compatibility.
def expires_in(seconds, options = {}) #:doc:
response.cache_control.merge!(:max_age => seconds, :public => options.delete(:public))
options.delete(:private)
response.cache_control[:extras] = options.map {|k,v| "#{k}=#{v}"}
+ response.date = Time.now unless response.date?
end
# Sets a HTTP 1.1 Cache-Control header of <tt>no-cache</tt> so no caching should occur by the browser or