Refactor: Middleware chain uses Handler instead of HandlerFunc

This commit is contained in:
Matthew Holt
2015-04-02 23:30:54 -06:00
parent db2cd9e941
commit d33256f1dc
15 changed files with 80 additions and 71 deletions

View File

@ -29,16 +29,16 @@ func New(c middleware.Controller) (middleware.Middleware, error) {
}
// TODO: Why can't we just return an http.Handler here instead?
return func(next middleware.HandlerFunc) middleware.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) (int, error) {
return func(next middleware.Handler) middleware.Handler {
return middleware.HandlerFunc(func(w http.ResponseWriter, r *http.Request) (int, error) {
for _, rule := range rewrites {
if r.URL.Path == rule.From {
r.URL.Path = rule.To
break
}
}
return next(w, r)
}
return next.ServeHTTP(w, r)
})
}, nil
}