On this page
Goyave
Usage
Here is the example about the Souin initialization.
import (
"net/http"
cache "github.com/darkweak/souin/plugins/goyave"
"goyave.dev/goyave/v4"
)
func main() {
// ...
goyave.Start(func(r *goyave.Router) {
r.GlobalMiddleware(cache.NewHTTPCache(cache.DevDefaultConfiguration).Handle)
// ...
})
}
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 mentionned in the RFC specification.
You have to pass a Souin BaseConfiguration
structure into the NewHTTPCache
method (you can use the DefaultConfiguration
variable to have a built-in production ready configuration).
Look at the configuration section to discover all configurable keys here.
Other resources
You can find an example for a docker-compose stack inside the examples
folder on the Github repository.
Look at the BaseConfiguration
structure on pkg.go.dev documentation.