The goal of this project is to make a RFC 7234 compliant shared caching server in Go. Tho the main goal is to have a out-of-the-box working caching server it is also important that the functionality is exported so it can be used as library in bigger projects.
- Fully RFC7234 compliant (excluding optional features)
- Flexible configuration
- Multi layer system
- Customizable logging
TODO make command line usage section for the standalone cache server
For library examples please go the the godoc page
To validate the cache a testing harness like https://github.com/http-tests/cache-tests can be used.
- Adding tests, both unit and integration
- Store partial responses
- Combining Partial Content
- Calculating Heuristic Freshness based on past behavior
- Add informational headers about cache hit's ect.
- Add websocket support
- Add HTTP/2 push support
- Add optional RFC7239 support
- http cache-aware server-push link
- Add Cache-Control extensions (Or at least make a callback so someone can from outside the package)
- Add metrics (prometheus)
- Add user triggered cache invalidation
- Add advanced cache replacement policies to inmemory layer
- Add disk storage layer
- Add redis storage layer
- Add s3 storage layer