// matches a path in the path trie structure. func matchPathTree(tree *pathmux.Tree, path string, lrm *leafRequestMatcher) (map[string]string, *leafMatcher) { v, params, value := tree.LookupMatcher(path, lrm) if v == nil { return nil, nil } // prepend slash in case of free form wildcards path segments (`/*name`), pm := v.(*pathMatcher) if pm.freeWildcardParam != "" { freeParam := params[pm.freeWildcardParam] freeParam = "/" + freeParam params[pm.freeWildcardParam] = freeParam } return params, value.(*leafMatcher) }