fix for Router.Mount()
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/tag Build is failing Details

This commit is contained in:
tjpcc 2023-10-09 10:29:18 -06:00
parent 64b06db74d
commit c38b7ad69d
1 changed files with 7 additions and 2 deletions

View File

@ -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)
}
}
}