forked from darkweak/souin
README.md

Chi middleware: Souin #

This is a distributed HTTP cache module for Chi based on Souin cache.

Features #

Example #

There is the example about the Souin initialization.

import (
	"net/http"

	cache "github.com/darkweak/souin/plugins/chi"
	"github.com/go-chi/chi/v5"
)

func main(){

    // ...
	httpcache := cache.NewHTTPCache(cache.DevDefaultConfiguration)
	router.Use(httpcache.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 Chi Configuration structure into the NewHTTPCache method (you can use the DefaultConfiguration variable to have a built-in production ready configuration).
See the full detailled configuration names here.

Other resources #

You can find an example for a docker-compose stack inside the examples folder.
See the Souin configuration for the full configuration, and its associated development chi middleware