instance method
expires_in
Ruby on Rails 6.0.6
Since v3.0.20Signature
expires_in(seconds, options = {})
Sets an HTTP 1.1 Cache-Control header. Defaults to issuing a private instruction, so that intermediate caches must not cache the response.
expires_in 20.minutes expires_in 3.hours, public: true expires_in 3.hours, public: true, must_revalidate: true
This method will overwrite an existing Cache-Control header. See www.w3.org/Protocols/rfc2616/rfc2616-sec14.html for more possibilities.
HTTP Cache-Control Extensions for Stale Content. See tools.ietf.org/html/rfc5861 It helps to cache an asset and serve it while is being revalidated and/or returning with an error.
expires_in 3.hours, public: true, stale_while_revalidate: 60.seconds expires_in 3.hours, public: true, stale_while_revalidate: 60.seconds, stale_if_error: 5.minutes
The method will also ensure an HTTP Date header for client compatibility.
Parameters
-
secondsreq -
optionsopt = {}
Source
# File actionpack/lib/action_controller/metal/conditional_get.rb, line 238
def expires_in(seconds, options = {})
response.cache_control.merge!(
max_age: seconds,
public: options.delete(:public),
must_revalidate: options.delete(:must_revalidate),
stale_while_revalidate: options.delete(:stale_while_revalidate),
stale_if_error: options.delete(:stale_if_error),
)
options.delete(:private)
response.cache_control[:extras] = options.map { |k, v| "#{k}=#{v}" }
response.date = Time.now unless response.date?
end
Defined in actionpack/lib/action_controller/metal/conditional_get.rb line 238
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActionController::ConditionalGet