|
|
|
|
@ -363,9 +363,9 @@ func (r *Router) Walk(walkFn WalkFunc) error {
@@ -363,9 +363,9 @@ func (r *Router) Walk(walkFn WalkFunc) error {
|
|
|
|
|
return r.walk(walkFn, []*Route{}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// SkipRouter is used as a return value from WalkFuncs to indicate that the
|
|
|
|
|
// ErrSkipRouter is used as a return value from WalkFuncs to indicate that the
|
|
|
|
|
// router that walk is about to descend down to should be skipped.
|
|
|
|
|
var SkipRouter = errors.New("skip this router") |
|
|
|
|
var ErrSkipRouter = errors.New("skip this router") |
|
|
|
|
|
|
|
|
|
// WalkFunc is the type of the function called for each route visited by Walk.
|
|
|
|
|
// At every invocation, it is given the current route, and the current router,
|
|
|
|
|
@ -375,7 +375,7 @@ type WalkFunc func(route *Route, router *Router, ancestors []*Route) error
@@ -375,7 +375,7 @@ type WalkFunc func(route *Route, router *Router, ancestors []*Route) error
|
|
|
|
|
func (r *Router) walk(walkFn WalkFunc, ancestors []*Route) error { |
|
|
|
|
for _, t := range r.routes { |
|
|
|
|
err := walkFn(t, r, ancestors) |
|
|
|
|
if err == SkipRouter { |
|
|
|
|
if err == ErrSkipRouter { |
|
|
|
|
continue |
|
|
|
|
} |
|
|
|
|
if err != nil { |
|
|
|
|
|