gojek/wrest

Caching support

Closed this issue · 1 comments

Client-side (browser-like) caching

All outbound cacheable requests (GET without authentication) and their responses should be sent to the cache_store.

Before each request is sent, check the cache store for identical request (url, parameters and headers)

  • If a result with an e-tag is found, send the request with If-None-Match : e-tag. Use the cached copy if the server returns a Not Modified 304.
  • If a result without etag, but Expires header which hasn't expired, use it. Else, send the request and replace the cache with the new result.

Implemented.

Support for the Vary tag remains.