| @@ -50,11 +50,6 @@ func (self *middleware) build() http.Handler { | |||
| return self.cache | |||
| } | |||
| // Use add the middleware module into the stack chain. | |||
| func (self *middleware) Use(modules ...func(http.Handler) http.Handler) { | |||
| self.stack = append(self.stack, modules...) | |||
| } | |||
| // Implements the net/http Handler interface and calls the middleware stack. | |||
| func (self *middleware) ServeHTTP(w http.ResponseWriter, r *http.Request) { | |||
| self.build().ServeHTTP(w, r) | |||
| @@ -79,13 +74,13 @@ func (self *Router) build() http.Handler { | |||
| if !self.ready { | |||
| self.ready = true | |||
| // * activate router's middleware modules. | |||
| self.middleware.Use(func(http.Handler) http.Handler { | |||
| self.Use(func(http.Handler) http.Handler { | |||
| return self.mux | |||
| }) | |||
| // * activate subrouters's middleware modules. | |||
| for index := 0; index < len(self.subrouters); index++ { | |||
| sr := self.subrouters[index] | |||
| sr.middleware.Use(func(http.Handler) http.Handler { | |||
| sr.Use(func(http.Handler) http.Handler { | |||
| return sr.mux | |||
| }) | |||
| } | |||
| @@ -169,7 +164,7 @@ func (self *Router) Name(r *http.Request) (name string) { | |||
| // Use add the middleware module into the stack chain. | |||
| func (self *Router) Use(module func(http.Handler) http.Handler) { | |||
| self.middleware.Use(module) | |||
| self.middleware.stack = append(self.middleware.stack, module) | |||
| } | |||
| // ServeHTTP dispatches the request to the handler whose | |||