package service import ( "strings" "github.com/gin-gonic/gin" ) // Gin context keys used by Ops error logger for capturing upstream error details. // These keys are set by gateway services and consumed by handler/ops_error_logger.go. const ( OpsUpstreamStatusCodeKey = "ops_upstream_status_code" OpsUpstreamErrorMessageKey = "ops_upstream_error_message" OpsUpstreamErrorDetailKey = "ops_upstream_error_detail" ) func setOpsUpstreamError(c *gin.Context, upstreamStatusCode int, upstreamMessage, upstreamDetail string) { if c == nil { return } if upstreamStatusCode > 0 { c.Set(OpsUpstreamStatusCodeKey, upstreamStatusCode) } if msg := strings.TrimSpace(upstreamMessage); msg != "" { c.Set(OpsUpstreamErrorMessageKey, msg) } if detail := strings.TrimSpace(upstreamDetail); detail != "" { c.Set(OpsUpstreamErrorDetailKey, detail) } }