diff --git a/CHANGELOG.md b/CHANGELOG.md index 1bd9978e..e0a07cfb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ # developing +- Always set the response status in the CustomAbort function. [4686](https://github.com/beego/beego/pull/4686) - Add template functions eq,lt to support uint and int compare. [4607](https://github.com/beego/beego/pull/4607) - Migrate tests to GitHub Actions. [4663](https://github.com/beego/beego/issues/4663) - Add http client and option func. [4455](https://github.com/beego/beego/issues/4455) diff --git a/server/web/controller.go b/server/web/controller.go index 103dd08f..700bd03e 100644 --- a/server/web/controller.go +++ b/server/web/controller.go @@ -411,9 +411,9 @@ func (c *Controller) Abort(code string) { // CustomAbort stops controller handler and show the error data, it's similar Aborts, but support status code and body. func (c *Controller) CustomAbort(status int, body string) { + c.Ctx.Output.Status = status // first panic from ErrorMaps, it is user defined error functions. if _, ok := ErrorMaps[body]; ok { - c.Ctx.Output.Status = status panic(body) } // last panic user string