mirror of
https://github.com/astaxie/beego.git
synced 2024-11-22 03:10:58 +00:00
Fix #3949 : store RouterPattern before filter execute so that filter can use the pattern
This commit is contained in:
parent
3e30f37172
commit
5f31bf45d4
11
router.go
11
router.go
@ -750,19 +750,22 @@ func (p *ControllerRegister) ServeHTTP(rw http.ResponseWriter, r *http.Request)
|
||||
}
|
||||
}
|
||||
|
||||
//execute middleware filters
|
||||
if routerInfo != nil {
|
||||
// store router pattern into context
|
||||
context.Input.SetData("RouterPattern", routerInfo.pattern)
|
||||
}
|
||||
|
||||
// execute middleware filters
|
||||
if len(p.filters[BeforeExec]) > 0 && p.execFilter(context, urlPath, BeforeExec) {
|
||||
goto Admin
|
||||
}
|
||||
|
||||
//check policies
|
||||
// check policies
|
||||
if p.execPolicy(context, urlPath) {
|
||||
goto Admin
|
||||
}
|
||||
|
||||
if routerInfo != nil {
|
||||
//store router pattern into context
|
||||
context.Input.SetData("RouterPattern", routerInfo.pattern)
|
||||
if routerInfo.routerType == routerTypeRESTFul {
|
||||
if _, ok := routerInfo.methods[r.Method]; ok {
|
||||
isRunnable = true
|
||||
|
Loading…
Reference in New Issue
Block a user