Pass in handler to middleware, create definition for MiddlewareFunc

This commit is contained in:
Maximilian 2023-07-31 18:37:54 -05:00
parent 606f5df45a
commit f1fad7e4e3
2 changed files with 7 additions and 2 deletions

5
middleware/groups.go Normal file
View File

@ -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)

View File

@ -5,9 +5,9 @@ import "net/http"
// ProcessGroup is a wrapper function for the http.HandleFunc function // ProcessGroup is a wrapper function for the http.HandleFunc function
// that takes the function you want to execute (f) and the middleware you want // 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 // 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 { for _, middleware := range m {
middleware() _ = middleware(f)
} }
return f return f