...
1 package restful
2
3 import (
4 "net/http"
5 )
6
7
8 type HttpMiddlewareHandler func(http.Handler) http.Handler
9
10
11 func HttpMiddlewareHandlerToFilter(middleware HttpMiddlewareHandler) FilterFunction {
12 return func(req *Request, resp *Response, chain *FilterChain) {
13 next := http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) {
14 req.Request = r
15 resp.ResponseWriter = rw
16 chain.ProcessFilter(req, resp)
17 })
18
19 middleware(next).ServeHTTP(resp.ResponseWriter, req.Request)
20 }
21 }
22
View as plain text