15 lines
386 B
Go
15 lines
386 B
Go
package middleware
|
|
|
|
import "net/http"
|
|
|
|
// Wrapper wraps a 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 _, handler := range handlers {
|
|
lastHandler = handler(lastHandler)
|
|
}
|
|
lastHandler.ServeHTTP(w, r)
|
|
})
|
|
}
|