1
0
mirror of https://github.com/astaxie/beego.git synced 2024-06-23 18:44:14 +00:00

#45 add support post+_method

This commit is contained in:
astaxie 2013-04-27 22:47:32 +08:00
parent 105e8ad2ef
commit cf82cfeea2

View File

@ -227,6 +227,7 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request)
}
requestPath := r.URL.Path
r.ParseMultipartForm()
//user defined Handler
for pattern, c := range p.userHandlers {
@ -350,18 +351,18 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request)
if r.Method == "GET" {
method = vc.MethodByName("Get")
method.Call(in)
} else if r.Method == "POST" {
method = vc.MethodByName("Post")
method.Call(in)
} else if r.Method == "HEAD" {
method = vc.MethodByName("Head")
method.Call(in)
} else if r.Method == "DELETE" {
} else if r.Method == "DELETE" || (r.Method == "POST" && r.Form.Get("_method") == "delete") {
method = vc.MethodByName("Delete")
method.Call(in)
} else if r.Method == "PUT" {
} else if r.Method == "PUT" || (r.Method == "POST" && r.Form.Get("_method") == "put") {
method = vc.MethodByName("Put")
method.Call(in)
} else if r.Method == "POST" {
method = vc.MethodByName("Post")
method.Call(in)
} else if r.Method == "PATCH" {
method = vc.MethodByName("Patch")
method.Call(in)