From cbb3de741d9307fb18b3b9cad0d430ea70849a97 Mon Sep 17 00:00:00 2001 From: Anker Jam Date: Sun, 18 Oct 2020 23:38:08 +0800 Subject: [PATCH] fix application/x-www-form-urlencoded request body oversize --- server/web/context/input.go | 2 +- server/web/router.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/server/web/context/input.go b/server/web/context/input.go index 21cae0b0..027ad527 100644 --- a/server/web/context/input.go +++ b/server/web/context/input.go @@ -423,8 +423,8 @@ func (input *BeegoInput) SetData(key, val interface{}) { // ParseFormOrMultiForm parseForm or parseMultiForm based on Content-type func (input *BeegoInput) ParseFormOrMultiForm(maxMemory int64) error { // Parse the body depending on the content type. + input.Context.Request.Body = http.MaxBytesReader(input.Context.ResponseWriter, input.Context.Request.Body, maxMemory) if strings.Contains(input.Header("Content-Type"), "multipart/form-data") { - input.Context.Request.Body = http.MaxBytesReader(input.Context.ResponseWriter, input.Context.Request.Body, maxMemory) if err := input.Context.Request.ParseMultipartForm(maxMemory); err != nil { return errors.New("Error parsing request body:" + err.Error()) } diff --git a/server/web/router.go b/server/web/router.go index ca0918a0..ba70d340 100644 --- a/server/web/router.go +++ b/server/web/router.go @@ -722,7 +722,7 @@ func (p *ControllerRegister) serveHttp(ctx *beecontext.Context) { err = ctx.Input.ParseFormOrMultiForm(p.cfg.MaxMemory) if err != nil { - logs.Error(errors.New("payload too large")) + logs.Error(err) exception("413", ctx) goto Admin }