Class Index [+]

Quicksearch

ActionDispatch::Http::Cache::Request

Constants

HTTP_IF_MODIFIED_SINCE
HTTP_IF_NONE_MATCH

Public Instance Methods

etag_matches?(etag) click to toggle source
    # File lib/action_dispatch/http/cache.rb, line 25
25:         def etag_matches?(etag)
26:           if_none_match && if_none_match == etag
27:         end
fresh?(response) click to toggle source

Check response freshness (Last-Modified and ETag) against request If-Modified-Since and If-None-Match conditions. If both headers are supplied, both must match, or the request is not considered fresh.

    # File lib/action_dispatch/http/cache.rb, line 32
32:         def fresh?(response)
33:           last_modified = if_modified_since
34:           etag          = if_none_match
35: 
36:           return false unless last_modified || etag
37: 
38:           success = true
39:           success &&= not_modified?(response.last_modified) if last_modified
40:           success &&= etag_matches?(response.etag) if etag
41:           success
42:         end
if_modified_since() click to toggle source
    # File lib/action_dispatch/http/cache.rb, line 11
11:         def if_modified_since
12:           if since = env[HTTP_IF_MODIFIED_SINCE]
13:             Time.rfc2822(since) rescue nil
14:           end
15:         end
if_none_match() click to toggle source
    # File lib/action_dispatch/http/cache.rb, line 17
17:         def if_none_match
18:           env[HTTP_IF_NONE_MATCH]
19:         end
not_modified?(modified_at) click to toggle source
    # File lib/action_dispatch/http/cache.rb, line 21
21:         def not_modified?(modified_at)
22:           if_modified_since && modified_at && if_modified_since >= modified_at
23:         end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.