3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# File 'lib/acorn_cache/freshness_rules.rb', line 3
def self.cached_response_fresh_for_request?(cached_response, request)
return false unless cached_response
if cached_response.fresh?
if request.max_age_more_restrictive?(cached_response)
return cached_response.date + request.max_age >= Time.now.gmtime
elsif request.max_fresh
return cached_response.expiration_date - request.max_fresh >= Time.now.gmtime
end
true
else
return false unless request.max_stale?
return true if request.max_stale == true
cached_response.expiration_date + request.max_stale >= Time.now.gmtime
end
end
|