From f201859fa71553e3879822d56a73b473cc440f36 Mon Sep 17 00:00:00 2001 From: astaxie Date: Tue, 12 Aug 2014 00:15:39 +0800 Subject: [PATCH] beego: fix the addTree --- tree.go | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/tree.go b/tree.go index 7afe317c..121e02c6 100644 --- a/tree.go +++ b/tree.go @@ -108,7 +108,11 @@ func (t *Tree) addtree(segments []string, tree *Tree, wildcards []string, reg st if w == "." || w == ":" { continue } - regexpStr = "/([^/]+)" + regexpStr + if w == ":splat" { + regexpStr = "/(.+)" + regexpStr + } else { + regexpStr = "/([^/]+)" + regexpStr + } } } reg = reg + regexpStr @@ -145,19 +149,15 @@ func filterTreeWithPrefix(t *Tree, wildcards []string, reg string) { } } else { if l.regexps != nil { - filterCards := []string{} - for _, v := range l.wildcards { - if v == ":" || v == "." { - continue - } - filterCards = append(filterCards, v) - } - l.wildcards = filterCards for _, w := range wildcards { if w == "." || w == ":" { continue } - reg = "([^/]+)/" + reg + if w == ":splat" { + reg = "(.+)/" + reg + } else { + reg = "([^/]+)/" + reg + } } l.regexps = regexp.MustCompile("^" + reg + strings.Trim(l.regexps.String(), "^$") + "$") }