File: TODO

package info (click to toggle)
ruby-rack-cache 1.2-4
  • links: PTS, VCS
  • area: main
  • in suites: buster, jessie, jessie-kfreebsd, stretch
  • size: 564 kB
  • ctags: 246
  • sloc: ruby: 3,117; makefile: 2
file content (27 lines) | stat: -rw-r--r-- 1,260 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
## 0.5

  - Document allow_revalidate and allow_reload options.
  - Support multiple memcache servers.
  - Purge/invalidate everything
  - Explicit expiration/invalidation based on response headers or via an
    object interface passed in the rack env.
  - Sample apps: Rack, Rails, Sinatra, Merb, etc.
  - Move old breakers.rb configuration file into rack-contrib as a
    middleware component.

## Backlog

  - Use Bacon instead of test/spec
  - Fast path pass processing. We do a lot more than necessary just to determine
    that the response should be passed through untouched.
  - Invalidate at the URI of the Location or Content-Location response header
    on POST, PUT, or DELETE that results in a redirect.
  - Maximum size of cached entity
  - Last-Modified factor: requests that have a Last-Modified header but no Expires
    header have a TTL assigned based on the last modified age of the response:
    TTL = (Age * Factor), or, 1h  = (10h * 0.1)
  - Consider implementing ESI (http://www.w3.org/TR/esi-lang). This should
    probably be implemented as a separate middleware component.
  - stale-while-revalidate
  - Serve cached copies when down (see: stale-if-error) - e.g., database
    connection drops and the cache takes over what it can.