diff --git a/router.go b/router.go index 254e8cd7..d24241e6 100644 --- a/router.go +++ b/router.go @@ -578,6 +578,13 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request) return false } + // filter wrong httpmethod + if _, ok := HTTPMETHOD[r.Method]; !ok { + http.Error(w, "Method Not Allowed", 405) + goto Admin + } + + // filter for static file if do_filter(BeforeStatic) { goto Admin } @@ -595,11 +602,6 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request) }() } - if _, ok := HTTPMETHOD[r.Method]; !ok { - http.Error(w, "Method Not Allowed", 405) - goto Admin - } - if r.Method != "GET" && r.Method != "HEAD" { if CopyRequestBody && !context.Input.IsUpload() { context.Input.CopyBody()