A Go package to parse HTTP Cache-Control headers based on RFC9111 Section 5.2.
package main
import (
"fmt"
"net/http"
"github.com/mi-wada/cachecontrolheader"
)
func main() {
res, err := http.Get("https://example.com")
if err != nil {
panic(err)
}
cacheControl := cachecontrolheader.Parse(res.Header.Get("Cache-Control"))
fmt.Println(cacheControl.MaxAge)
fmt.Println(cacheControl.MustRevalidate)
fmt.Println(cacheControl.Private)
}go get github.com/mi-wada/cachecontrolheader@latest