Given that Heroku Cedar doesn't have http caching provided by Varnish I would like to use Rack::Cache
.
I have been told that rails 3.1.1 have Rack::Cache
active by default, I just need to make sure to have in the configuration:
config.action_controller.perform_caching = true
and I need to pick a cache store, for this experiment I'm using:
config.cache_store = :memory_store
In the action of the page I want to cache I've added the following lines:
response.header['Cache-Control'] = 'public, max-age=300'
response.header['Expires'] = CGI.rfc1123_date(Time.now + 300)
This code used to work fine with Varnish, the first request would return a 200 and the subsequent (for 5 mins) would return a 304
.
This doesn't happen with Rails 3.1 and Heroku Cedar Stack. I do get those headers in the response but subsequent requests returns 200 instead of 304.
What am I doing wrong? Thank you.