package apiresponse import ( "encoding/json" "net/http" ) type ErrorBody struct { Code string `json:"code"` Message string `json:"message"` Details any `json:"details,omitempty"` TraceID string `json:"trace_id"` } func WriteError(w http.ResponseWriter, r *http.Request, status int, code, message string, details any) { traceID := TraceIDFromContext(r.Context()) w.Header().Set("Content-Type", "application/json; charset=utf-8") w.WriteHeader(status) _ = json.NewEncoder(w).Encode(ErrorBody{ Code: code, Message: message, Details: details, TraceID: traceID, }) }