package middleware import "net/http" // Chain list of handlers together. func Wrapper(next http.Handler, handlers ...func(http.Handler) http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { lastHandler := next for _, handler := range handlers { lastHandler = handler(lastHandler) } lastHandler.ServeHTTP(w, r) }) }