fix router bug with more better way
Showing
1 changed file
with
3 additions
and
7 deletions
| ... | @@ -648,20 +648,16 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request) | ... | @@ -648,20 +648,16 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request) |
| 648 | } | 648 | } |
| 649 | 649 | ||
| 650 | if !findrouter { | 650 | if !findrouter { |
| 651 | http_method := "" | 651 | http_method := r.Method |
| 652 | 652 | ||
| 653 | if r.Method == "POST" && context.Input.Query("_method") == "PUT" { | 653 | if http_method == "POST" && context.Input.Query("_method") == "PUT" { |
| 654 | http_method = "PUT" | 654 | http_method = "PUT" |
| 655 | } | 655 | } |
| 656 | 656 | ||
| 657 | if r.Method == "POST" && context.Input.Query("_method") == "DELETE" { | 657 | if http_method == "POST" && context.Input.Query("_method") == "DELETE" { |
| 658 | http_method = "DELETE" | 658 | http_method = "DELETE" |
| 659 | } | 659 | } |
| 660 | 660 | ||
| 661 | if http_method != "PUT" && http_method != "DELETE" { | ||
| 662 | http_method = r.Method | ||
| 663 | } | ||
| 664 | |||
| 665 | if t, ok := p.routers[http_method]; ok { | 661 | if t, ok := p.routers[http_method]; ok { |
| 666 | runObject, p := t.Match(urlPath) | 662 | runObject, p := t.Match(urlPath) |
| 667 | if r, ok := runObject.(*controllerInfo); ok { | 663 | if r, ok := runObject.(*controllerInfo); ok { | ... | ... |
-
Please register or sign in to post a comment