1
0
mirror of https://github.com/rancher/steve.git synced 2025-07-06 19:38:56 +00:00
steve/pkg/responsewriter/middleware.go
2020-02-21 22:18:58 -07:00

25 lines
476 B
Go

package responsewriter
import (
"net/http"
"github.com/gorilla/mux"
)
type MiddlewareChain struct {
middleWares []mux.MiddlewareFunc
}
func NewMiddlewareChain(middleWares ...mux.MiddlewareFunc) *MiddlewareChain {
return &MiddlewareChain{middleWares: middleWares}
}
func (m *MiddlewareChain) Handler(handler http.Handler) http.Handler {
rtn := handler
for i := len(m.middleWares) - 1; i >= 0; i-- {
w := m.middleWares[i]
rtn = w.Middleware(rtn)
}
return rtn
}