This was causing all kinds of confusion since refreshing in the browser always caused a cache miss. People assumed that rack-cache wasn't working at all. The allow_reload and allow_revalidate options now default to false. This breaks with RFC 2616 but is the desired config in a majority of gateway cache scenarios.
To use GAE's memcache with rack-cache, set the :metastore and :entitystore options as follows: use Rack::Cache, :metastore => 'gae://cache-meta', :entitystore => 'gae://cache-body' The 'cache-meta' and 'cache-body' parts are memcache namespace prefixes and should be set to different values.
* Removed freshness_information? * Removed redundant Header mixin from Request and Response * Removed Headers# accessor methods * Removed unused Response#freeze * Removed unused Response#public= * Removed unused Response#stale? * Removed original_request; the @env goes downstream