Method: ActionController::ConditionalGet#http_cache_forever

Defined in:
actionpack/lib/action_controller/metal/conditional_get.rb

#http_cache_forever(public: false) ⇒ Object

Cache or yield the block. The cache is supposed to never expire.

You can use this method when you have an HTTP response that never changes, and the browser and proxies should cache it indefinitely.

  • public: By default, HTTP responses are private, cached only on the user’s web browser. To allow proxies to cache the response, set true to indicate that they can serve the cached response to all users.



321
322
323
324
325
326
327
# File 'actionpack/lib/action_controller/metal/conditional_get.rb', line 321

def http_cache_forever(public: false)
  expires_in 100.years, public: public, immutable: true

  yield if stale?(etag: request.fullpath,
                  last_modified: Time.new(2011, 1, 1).utc,
                  public: public)
end