fixed some bugs related to middleware

This commit is contained in:
luke.rodham
2018-03-12 11:29:18 +00:00
parent 1e787689aa
commit 971f157307
5 changed files with 23 additions and 6 deletions
+15 -4
View File
@@ -4,6 +4,8 @@ import (
"fmt"
"net/http"
"strings"
"github.com/sirupsen/logrus"
)
func NewRouter(opts ...RouterOption) Router {
@@ -59,10 +61,12 @@ func (r *DefaultRouter) addRoute(m, p string, h Handler) {
}
r.Routes = append(r.Routes, &Route{
Method: m,
Path: p,
Handler: h,
Env: r.Options.Env,
Method: m,
Path: p,
Handler: h,
Env: r.Options.Env,
Middleware: r.Options.MiddlewareStack,
Logger: r.Options.Logger,
})
}
@@ -70,6 +74,7 @@ type RouterOptions struct {
Env string
Prefix string
MiddlewareStack MiddlewareStack
Logger *logrus.Logger
}
type RouterOption func(*RouterOptions)
@@ -91,3 +96,9 @@ func RouterMiddleware(ms MiddlewareStack) RouterOption {
o.MiddlewareStack = ms
}
}
func RouterLogger(l *logrus.Logger) RouterOption {
return func(o *RouterOptions) {
o.Logger = l
}
}