diff --git a/pkg/util/httputils/error.go b/pkg/util/httputils/error.go index 4d12066b244..0b9927c02a2 100644 --- a/pkg/util/httputils/error.go +++ b/pkg/util/httputils/error.go @@ -24,27 +24,16 @@ import ( // class: error class // msg: message // params: message format parameters -func NewJsonClientError(code int, class string, msg string, params ...interface{}) *JSONClientError { - details, err := errorMessage(msg, params...) - return &JSONClientError{Code: code, Class: class, Details: details, Data: err} -} - -func errorMessage(msgFmt string, params ...interface{}) (string, Error) { - fields := make([]string, len(params)) - for i, v := range params { - fields[i] = fmt.Sprint(v) +func NewJsonClientError(code int, class string, msgFmt string, params ...interface{}) *JSONClientError { + details := msgFmt + if len(params) > 0 { + details = fmt.Sprintf(msgFmt, params...) } - - err := Error{ + theErr := Error{ Id: msgFmt, - Fields: fields, - } - - msg := msgFmt - if len(params) > 0 { - msg = fmt.Sprintf(msg, params...) + Fields: params, } - return msg, err + return &JSONClientError{Code: code, Class: class, Details: details, Data: theErr} } func msgFmtToTmpl(msgFmt string) string { diff --git a/pkg/util/httputils/error_test.go b/pkg/util/httputils/error_test.go index 26eac266502..f68855acf45 100644 --- a/pkg/util/httputils/error_test.go +++ b/pkg/util/httputils/error_test.go @@ -50,12 +50,6 @@ func TestVariadic(t *testing.T) { }, } for _, c := range cases { - t.Run(c.name, func(t *testing.T) { - msg, _ := errorMessage(c.msg, c.params...) - if msg != c.out { - t.Errorf("want %s, got %s", c.out, msg) - } - }) t.Run(c.name+"_New", func(t *testing.T) { err := NewJsonClientError(400, "InputParameterError", c.msg, c.params...) if err.Details != c.out { diff --git a/pkg/util/httputils/httputils.go b/pkg/util/httputils/httputils.go index db2b3a0283b..40d280142e6 100644 --- a/pkg/util/httputils/httputils.go +++ b/pkg/util/httputils/httputils.go @@ -70,8 +70,8 @@ var ( ) type Error struct { - Id string `json:"id,omitempty"` - Fields []string `json:"fields,omitempty"` + Id string `json:"id,omitempty"` + Fields []interface{} `json:"fields,omitempty"` } type JSONClientError struct {