1
0
mirror of https://github.com/rancher/steve.git synced 2025-07-08 04:19:06 +00:00
steve/pkg/responsewriter/middleware.go

25 lines
476 B
Go
Raw Normal View History

2020-02-22 05:18:58 +00:00
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
}