func exampleMiddleware(f http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { log.DebugR(req, "example", log.Data{ "accept": req.Header.Get("Accept"), "flag": configure().Example, }) f.ServeHTTP(w, req) }) }
// WithCsrfHandler is a middleware wrapper providing CSRF validation func WithCsrfHandler(h http.Handler) http.Handler { csrfHandler := nosurf.New(h) csrfHandler.SetFailureHandler(http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { rsn := nosurf.Reason(req).Error() log.DebugR(req, "failed csrf validation", log.Data{"reason": rsn}) HTML(w, http.StatusBadRequest, "error", map[string]interface{}{"error": rsn}) })) return csrfHandler }