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 i := 0; i < len(handlers); i++ { lastHandler = handlers[i](lastHandler) } lastHandler.ServeHTTP(w, r) }) }