module ActionController::ConditionalGet

def expires_in(seconds, options = {}) #:doc:

:doc:
See http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html for more possibilities.
This method will overwrite an existing Cache-Control header.

expires_in 3.hours, 'max-stale' => 5.hours, :public => true
expires_in 3.hours, :public => true
expires_in 20.minutes
Examples:

intermediate caches must not cache the response.
Sets a HTTP 1.1 Cache-Control header. Defaults to issuing a private instruction, so that
def expires_in(seconds, options = {}) #:doc:
  response.cache_control.merge!(:max_age => seconds, :public => options.delete(:public))
  options.delete(:private)
  response.cache_control[:extras] = options.map {|k,v| "#{k}=#{v}"}
end