This is a distributed HTTP cache module for Hertz based on Souin HTTP cache.
- RFC 7234 compliant HTTP Cache.
- Sets the
Cache-Status
HTTP Response Header - REST API to purge the cache and list stored resources.
- Builtin support for distributed cache.
- Tag-based invalidation.
There is the example about the HTTP cache initialization.
import (
"context"
"net/http"
// ...
httpcache "github.com/hertz-contrib/httpcache/server"
)
func main() {
// ...
h.Use(httpcache.NewHTTPCache(httpcache.DevDefaultConfiguration))
// ...
}
With that your application will be able to cache the responses if possible and returns at least the Cache-Status
HTTP header with the different directives mentioned in the RFC specification.
You have to pass a Hertz Configuration
structure into the NewHTTPCache
method (you can use the DefaultConfiguration
variable to have a built-in production ready configuration).
See the full detailed configuration names here.
See the Souin configuration for the full configuration, and its associated development hertz middleware