1
0
mirror of https://github.com/astaxie/beego.git synced 2024-11-29 11:01:28 +00:00

fix FilterHandler crash issue

Filter Handler will crash with error assignment to entry in nil map , params from function Tree.Match() maybe nil.
This commit is contained in:
MrLee.Kun 2015-06-19 11:19:35 +08:00
parent 31e5edbdcf
commit 87e8bcc9be

View File

@ -616,6 +616,9 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request)
} }
if ok, params := filterR.ValidRouter(urlPath); ok { if ok, params := filterR.ValidRouter(urlPath); ok {
for k, v := range params { for k, v := range params {
if context.Input.Params == nil {
context.Input.Params = make(map[string]string)
}
context.Input.Params[k] = v context.Input.Params[k] = v
} }
filterR.filterFunc(context) filterR.filterFunc(context)
@ -699,9 +702,11 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request)
p[strconv.Itoa(k)] = v p[strconv.Itoa(k)] = v
} }
} }
if p != nil {
context.Input.Params = p context.Input.Params = p
} }
} }
}
} }