diff --git a/middleware/groups.go b/middleware/groups.go new file mode 100644 index 0000000..0bb20a4 --- /dev/null +++ b/middleware/groups.go @@ -0,0 +1,5 @@ +package middleware + +import "net/http" + +type MiddlewareFunc func(f func(w http.ResponseWriter, r *http.Request)) func(w http.ResponseWriter, r *http.Request) diff --git a/middleware/wrapper.go b/middleware/wrapper.go index b75ab6b..ce0d4e6 100644 --- a/middleware/wrapper.go +++ b/middleware/wrapper.go @@ -5,9 +5,9 @@ import "net/http" // ProcessGroup is a wrapper function for the http.HandleFunc function // that takes the function you want to execute (f) and the middleware you want // to execute (m) this should be used when processing multiple groups of middleware at a time -func ProcessGroup(f func(w http.ResponseWriter, r *http.Request), m []func()) func(w http.ResponseWriter, r *http.Request) { +func ProcessGroup(f func(w http.ResponseWriter, r *http.Request), m []MiddlewareFunc) func(w http.ResponseWriter, r *http.Request) { for _, middleware := range m { - middleware() + _ = middleware(f) } return f