From 00020139c563440fc6c1ac4868d80c23b3356fb6 Mon Sep 17 00:00:00 2001 From: Pengfei Xue Date: Fri, 20 Dec 2013 11:38:29 +0800 Subject: [PATCH] fix routing bug --- router.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/router.go b/router.go index a3dfaefb..5bd803c8 100644 --- a/router.go +++ b/router.go @@ -574,9 +574,11 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request) n := len(requestPath) if requestPath == route.pattern { runrouter = route.controllerType - findrouter = true runMethod = p.getRunMethod(r.Method, context, route) - break + if runMethod != "" { + findrouter = true + break + } } // pattern /admin url /admin 200 /admin/ 404 // pattern /admin/ url /admin 301 /admin/ 200 @@ -616,10 +618,12 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request) r.URL.RawQuery = url.Values(values).Encode() } runrouter = route.controllerType - findrouter = true context.Input.Params = params runMethod = p.getRunMethod(r.Method, context, route) - break + if runMethod != "" { + findrouter = true + break + } } } @@ -801,9 +805,8 @@ func (p *ControllerRegistor) getRunMethod(method string, context *beecontext.Con return m } else if m, ok = router.methods["*"]; ok { return m - } else { - return strings.Title(method) } + return "" } else { return strings.Title(method) }