mirror of
https://github.com/rancher/steve.git
synced 2025-07-06 19:38:56 +00:00
25 lines
476 B
Go
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
|
|
}
|