class HTTP::Request::Caching

def conditional_headers_for(cached_response)

Returns:
  • (Headers) - conditional request headers
def conditional_headers_for(cached_response)
  headers = HTTP::Headers.new
  cached_response.headers.get(HTTP::Headers::ETAG).
    each { |etag| headers.add(HTTP::Headers::IF_NONE_MATCH, etag) }
  cached_response.headers.get(HTTP::Headers::LAST_MODIFIED).
    each { |last_mod| headers.add(HTTP::Headers::IF_MODIFIED_SINCE, last_mod) }
  headers.add(HTTP::Headers::CACHE_CONTROL, "max-age=0") if cache_headers.forces_revalidation?
  headers
end