summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--router.go9
1 files changed, 7 insertions, 2 deletions
diff --git a/router.go b/router.go
index 7cf3142..dfa936e 100644
--- a/router.go
+++ b/router.go
@@ -86,9 +86,14 @@ func (r *Router) Mount(prefix string, subrouter *Router) {
prefix = strings.TrimSuffix(prefix, "/")
for _, subroute := range subrouter.tree.Routes() {
- r.Route(path.Join(prefix, subroute.Pattern), subroute.Value)
- if subroute.Pattern == "/" {
+ fullroute := path.Join(prefix, subroute.Pattern)
+ if strings.HasSuffix(subroute.Pattern, "/") {
+ fullroute = fullroute + "/"
+ }
+ r.Route(fullroute, subroute.Value)
+ if subroute.Pattern == "/" || subroute.Pattern == "" {
r.Route(prefix, subroute.Value)
+ r.Route(prefix+"/", subroute.Value)
}
}
}