Skip to content

A implementation of a RFC7234 shared HTTP cache written in Go

License

Notifications You must be signed in to change notification settings

dylandreimerink/sharedhttpcache

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Dylan Reimerink
May 5, 2020
24c5762 · May 5, 2020

History

27 Commits
May 3, 2020
Apr 28, 2020
Nov 3, 2019
Nov 3, 2019
Nov 9, 2019
May 3, 2020
Oct 27, 2019
Oct 27, 2019
May 5, 2020
May 5, 2020
May 5, 2020
Apr 19, 2020
May 5, 2020
Nov 4, 2019
Nov 10, 2019
May 3, 2020
May 5, 2020
May 5, 2020
May 5, 2020

Repository files navigation

HTTP caching

GoDoc Travis CI Codecov GoReport

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.

Features

  • Fully RFC7234 compliant (excluding optional features)
  • Flexible configuration
  • Multi layer system
  • Customizable logging

Usage

TODO make command line usage section for the standalone cache server

Examples

For library examples please go the the godoc page

Validation

To validate the cache a testing harness like https://github.com/http-tests/cache-tests can be used.

TODO

  • 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

About

A implementation of a RFC7234 shared HTTP cache written in Go

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published