mirror of
https://github.com/rocky-linux/peridot.git
synced 2024-10-18 15:35:08 +00:00
ad0f7a5305
Upgrade to Go 1.20.5, Hydra v2 SDK, rules-go v0.44.2 (with proper resolves), protobuf v25.3 and mass upgrade of Go dependencies.
22 lines
661 B
Go
22 lines
661 B
Go
package restful
|
|
|
|
import (
|
|
"net/http"
|
|
)
|
|
|
|
// HttpMiddlewareHandler is a function that takes a http.Handler and returns a http.Handler
|
|
type HttpMiddlewareHandler func(http.Handler) http.Handler
|
|
|
|
// HttpMiddlewareHandlerToFilter converts a HttpMiddlewareHandler to a FilterFunction.
|
|
func HttpMiddlewareHandlerToFilter(middleware HttpMiddlewareHandler) FilterFunction {
|
|
return func(req *Request, resp *Response, chain *FilterChain) {
|
|
next := http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) {
|
|
req.Request = r
|
|
resp.ResponseWriter = rw
|
|
chain.ProcessFilter(req, resp)
|
|
})
|
|
|
|
middleware(next).ServeHTTP(resp.ResponseWriter, req.Request)
|
|
}
|
|
}
|