GoWeb/app/middleware/wrapper.go

17 lines
603 B
Go
Raw Normal View History

2023-07-07 23:05:17 +00:00
package middleware
import "net/http"
2024-07-02 02:19:48 +00:00
type MiddlewareFunc func(f func(w http.ResponseWriter, r *http.Request)) func(w http.ResponseWriter, r *http.Request)
2023-07-21 21:26:43 +00:00
// 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 []MiddlewareFunc) func(w http.ResponseWriter, r *http.Request) {
2023-07-07 23:05:17 +00:00
for _, middleware := range m {
_ = middleware(f)
2023-07-07 23:05:17 +00:00
}
return f
}