playframework/Play20 — pull request #966 by julienrf (2013-04-07 18:41:21+00:00)
Title: Add support for client-side cache to the Cached action combinator

Server-side cache is usually used to save computation time while client-side cache is usually used to save bandwidth. These two properties are not always related but I think it makes sense to make the `Cached` combinator support both client-side and server-side.

I’m not sure of two things in this pull request:

* I generate two cache keys from the single `key: RequestHeader => String` function. The second key is used to save the resource `Etag`.
* I used `Iteratee#map` instead of `Iteratee#mapDone`. What the difference between those? The type signatures are the same.