From 210e4d038e4be64490be02d6777254cf42e12503 Mon Sep 17 00:00:00 2001 From: tjpcc Date: Sun, 17 Sep 2023 19:57:50 -0600 Subject: allow mounted sub-routers to own the root path without a trailing slash --- router.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'router.go') diff --git a/router.go b/router.go index 71ef74c..65f8568 100644 --- a/router.go +++ b/router.go @@ -72,13 +72,16 @@ func (r Router) Match(request *Request) (Handler, map[string]string) { // mounted sub-router should have patterns which only include the portion of the path // after whatever was matched by the prefix pattern. // -// The root pattern ("/") in the sub-router will become a route which must end with a -// forward slash. +// The root pattern ("/") in the sub-router will become a route which may or may not +// end with a forward slash. func (r *Router) Mount(prefix string, subrouter *Router) { prefix = strings.TrimSuffix(prefix, "/") for _, subroute := range subrouter.tree.Routes() { r.Route(prefix+"/"+subroute.Pattern, subroute.Value) + if subroute.Pattern == "" { + r.Route(prefix, subroute.Value) + } } } -- cgit v1.2.3