refactor: move Middleware interface to sinle function class

This commit is contained in:
Guz
2024-10-15 00:57:06 -03:00
parent 8388e2763e
commit 4ffe2f4e9e
2 changed files with 7 additions and 7 deletions

View File

@@ -62,15 +62,15 @@ func (rt *Router) ServeHTTP(w http.ResponseWriter, r *http.Request) {
rt.serveHttp(w, r)
}
func (r *Router) wrapMiddlewares(ms []middleware.Middleware, h http.HandlerFunc) http.HandlerFunc {
wh := h.ServeHTTP
func (r *Router) wrapMiddlewares(ms []middleware.Middleware, h http.Handler) http.HandlerFunc {
wh := h
for _, m := range ms {
wh = m.Serve(wh)
wh = m(wh)
}
return func(w http.ResponseWriter, r *http.Request) {
mw := middleware.NewMiddlewaredResponse(w)
wh(mw, r)
wh.ServeHTTP(mw, r)
if _, err := mw.ReallyWriteHeader(); err != nil {
_, _ = w.Write(
[]byte(