From 0a153574459c1651769201099f68749f69e957bf Mon Sep 17 00:00:00 2001 From: pb Date: Mon, 10 Mar 2025 17:36:04 +0100 Subject: [PATCH] added a controller to manage controller's errors --- controllers/error_handler.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 controllers/error_handler.go diff --git a/controllers/error_handler.go b/controllers/error_handler.go new file mode 100644 index 0000000..7700807 --- /dev/null +++ b/controllers/error_handler.go @@ -0,0 +1,21 @@ +package controllers + +import ( + "fmt" + + beego "github.com/beego/beego/v2/server/web" +) + +func HandleControllerErrors(c beego.Controller, code int, err *error, data *map[string]interface{}, messages ...string) { + for _, mess := range messages { + fmt.Println(mess) + } + if data != nil { + c.Data["json"] = data + } + if err != nil { + c.Data["json"] = map[string]string{"error": (*err).Error()} + } + c.Ctx.Output.SetStatus(code) + c.ServeJSON() +} \ No newline at end of file