From 0299b18b88292075b316744f2c5b125f9bd3540f Mon Sep 17 00:00:00 2001 From: "Grot (@grafanabot)" <43478413+grafanabot@users.noreply.github.com> Date: Wed, 1 Mar 2023 16:48:33 -0500 Subject: [PATCH] [v9.4.x] Reqcontext: Use err status code instead of always fallback (#63977) Reqcontext: Use err status code instead of always fallback (#63974) (cherry picked from commit 8bd4e2cb259edcdf53eac4ee44ca8e44d244a488) Co-authored-by: Ezequiel Victorero --- pkg/services/contexthandler/model/model.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/services/contexthandler/model/model.go b/pkg/services/contexthandler/model/model.go index 58c874a2193..a92c89918b5 100644 --- a/pkg/services/contexthandler/model/model.go +++ b/pkg/services/contexthandler/model/model.go @@ -103,6 +103,8 @@ func (ctx *ReqContext) WriteErrOrFallback(status int, message string, err error) func (ctx *ReqContext) writeErrOrFallback(status int, message string, err error) { data := make(map[string]interface{}) + statusResponse := status + traceID := tracing.TraceIDFromContext(ctx.Req.Context(), false) if err != nil { @@ -121,6 +123,8 @@ func (ctx *ReqContext) writeErrOrFallback(status int, message string, err error) data["message"] = publicErr.Message data["messageId"] = publicErr.MessageID data["statusCode"] = publicErr.StatusCode + + statusResponse = publicErr.StatusCode } else { if message != "" { logMessage = message @@ -141,7 +145,7 @@ func (ctx *ReqContext) writeErrOrFallback(status int, message string, err error) data["message"] = message } - ctx.JSON(status, data) + ctx.JSON(statusResponse, data) } func (ctx *ReqContext) HasUserRole(role org.RoleType) bool {