mirror of
https://github.com/astaxie/beego.git
synced 2024-11-22 19:00:54 +00:00
beego: update the router rule for *
* not match the empty route
This commit is contained in:
parent
469f283b68
commit
af4f153830
2
beego.go
2
beego.go
@ -381,9 +381,11 @@ func initBeforeHttpRun() {
|
|||||||
middleware.RegisterErrorHandler()
|
middleware.RegisterErrorHandler()
|
||||||
|
|
||||||
for u, _ := range StaticDir {
|
for u, _ := range StaticDir {
|
||||||
|
Get(u, serverStaticRouter)
|
||||||
Get(u+"/*", serverStaticRouter)
|
Get(u+"/*", serverStaticRouter)
|
||||||
}
|
}
|
||||||
if EnableDocs {
|
if EnableDocs {
|
||||||
|
Get("/docs", serverDocs)
|
||||||
Get("/docs/*", serverDocs)
|
Get("/docs/*", serverDocs)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -350,9 +350,11 @@ func (p *ControllerRegistor) AddAutoPrefix(prefix string, c ControllerInterface)
|
|||||||
route.methods = map[string]string{"*": rt.Method(i).Name}
|
route.methods = map[string]string{"*": rt.Method(i).Name}
|
||||||
route.controllerType = ct
|
route.controllerType = ct
|
||||||
pattern := path.Join(prefix, controllerName, strings.ToLower(rt.Method(i).Name), "*")
|
pattern := path.Join(prefix, controllerName, strings.ToLower(rt.Method(i).Name), "*")
|
||||||
|
patternfix := path.Join(prefix, controllerName, strings.ToLower(rt.Method(i).Name))
|
||||||
route.pattern = pattern
|
route.pattern = pattern
|
||||||
for _, m := range HTTPMETHOD {
|
for _, m := range HTTPMETHOD {
|
||||||
p.addToRouter(m, pattern, route)
|
p.addToRouter(m, pattern, route)
|
||||||
|
p.addToRouter(m, patternfix, route)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
6
tree.go
6
tree.go
@ -267,12 +267,6 @@ func (leaf *leafInfo) match(wildcardValues []string) (ok bool, params map[string
|
|||||||
}
|
}
|
||||||
return true, params
|
return true, params
|
||||||
}
|
}
|
||||||
if len(leaf.wildcards) == 1 && leaf.wildcards[0] == ":splat" {
|
|
||||||
params = make(map[string]string)
|
|
||||||
params[":splat"] = ""
|
|
||||||
return true, params
|
|
||||||
}
|
|
||||||
Error("bug of router")
|
|
||||||
return false, nil
|
return false, nil
|
||||||
} else if len(wildcardValues) == 0 { // static path
|
} else if len(wildcardValues) == 0 { // static path
|
||||||
return true, nil
|
return true, nil
|
||||||
|
@ -18,7 +18,6 @@ func init() {
|
|||||||
routers = append(routers, testinfo{"/customer/login", "/customer/login", nil})
|
routers = append(routers, testinfo{"/customer/login", "/customer/login", nil})
|
||||||
routers = append(routers, testinfo{"/customer/login", "/customer/login.json", map[string]string{":ext": "json"}})
|
routers = append(routers, testinfo{"/customer/login", "/customer/login.json", map[string]string{":ext": "json"}})
|
||||||
routers = append(routers, testinfo{"/*", "/customer/123", map[string]string{":splat": "customer/123"}})
|
routers = append(routers, testinfo{"/*", "/customer/123", map[string]string{":splat": "customer/123"}})
|
||||||
routers = append(routers, testinfo{"/customer/*", "/customer", map[string]string{":splat": ""}})
|
|
||||||
routers = append(routers, testinfo{"/*", "/customer/2009/12/11", map[string]string{":splat": "customer/2009/12/11"}})
|
routers = append(routers, testinfo{"/*", "/customer/2009/12/11", map[string]string{":splat": "customer/2009/12/11"}})
|
||||||
routers = append(routers, testinfo{"/*.*", "/nice/api.json", map[string]string{":path": "nice/api", ":ext": "json"}})
|
routers = append(routers, testinfo{"/*.*", "/nice/api.json", map[string]string{":path": "nice/api", ":ext": "json"}})
|
||||||
routers = append(routers, testinfo{"/:name/*.*", "/nice/api.json", map[string]string{":name": "nice", ":path": "api", ":ext": "json"}})
|
routers = append(routers, testinfo{"/:name/*.*", "/nice/api.json", map[string]string{":name": "nice", ":path": "api", ":ext": "json"}})
|
||||||
|
Loading…
Reference in New Issue
Block a user