mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-21 06:09:39 +08:00
httperrors: fix formating error messages
Fixes 65880ff8 ("mcclient error")
Before and after
JSONClientError: certificate 55858afc-de3f-4d14-8e09-3de7cd9b8e2c is still referred to by 1 loadbalancerlisteners%!(EXTRA []interface {}=[])
JSONClientError: certificate 55858afc-de3f-4d14-8e09-3de7cd9b8e2c is still referred to by 1 loadbalancerlisteners
This commit is contained in:
+29
-29
@@ -26,37 +26,37 @@ func errorMessage(msg string, params ...interface{}) (string, httputils.Error) {
|
||||
}
|
||||
|
||||
func NewBadGatewayError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(502, "BadGateway", msg, err)
|
||||
}
|
||||
|
||||
func NewNotImplementedError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(501, "NotImplemented", msg, err)
|
||||
}
|
||||
|
||||
func NewInternalServerError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(500, "InternalServerError", msg, err)
|
||||
}
|
||||
|
||||
func NewResourceNotReadyError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(500, "ResourceNotReadyError", msg, err)
|
||||
}
|
||||
|
||||
func NewOutOfResourceError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(500, "NewOutOfResourceError", msg, err)
|
||||
}
|
||||
|
||||
func NewServerStatusError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(400, "ServerStatusError", msg, err)
|
||||
}
|
||||
|
||||
func NewPaymentError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(402, "PaymentError", msg, err)
|
||||
}
|
||||
|
||||
@@ -66,42 +66,42 @@ func NewImageNotFoundError(imageId string) *httputils.JSONClientError {
|
||||
}
|
||||
|
||||
func NewResourceNotFoundError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(404, "ResourceNotFoundError", msg, err)
|
||||
}
|
||||
|
||||
func NewSpecNotFoundError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(404, "SpecNotFoundError", msg, err)
|
||||
}
|
||||
|
||||
func NewActionNotFoundError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(404, "ActionNotFoundError", msg, err)
|
||||
}
|
||||
|
||||
func NewTenantNotFoundError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(404, "TenantNotFoundError", msg, err)
|
||||
}
|
||||
|
||||
func NewUserNotFoundError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(404, "UserNotFoundError", msg, err)
|
||||
}
|
||||
|
||||
func NewInvalidStatusError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(400, "InvalidStatusError", msg, err)
|
||||
}
|
||||
|
||||
func NewInputParameterError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(400, "InputParameterError", msg, err)
|
||||
}
|
||||
|
||||
func NewWeakPasswordError() *httputils.JSONClientError {
|
||||
msg, err := errorMessage("password must be 12 chars of at least one digit, letter, uppercase letter and punctuate", nil)
|
||||
msg, err := errorMessage("password must be 12 chars of at least one digit, letter, uppercase letter and punctuate")
|
||||
return NewJsonClientError(400, "WeakPasswordError", msg, err)
|
||||
}
|
||||
|
||||
@@ -111,57 +111,57 @@ func NewMissingParameterError(paramName string) *httputils.JSONClientError {
|
||||
}
|
||||
|
||||
func NewInsufficientResourceError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(400, "InsufficientResourceError", msg, err)
|
||||
}
|
||||
|
||||
func NewOutOfQuotaError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(400, "OutOfQuotaError", msg, err)
|
||||
}
|
||||
|
||||
func NewNotSufficientPrivilegeError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(403, "NotSufficientPrivilegeError", msg, err)
|
||||
}
|
||||
|
||||
func NewUnsupportOperationError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(406, "UnsupportOperationError", msg, err)
|
||||
}
|
||||
|
||||
func NewNotEmptyError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(406, "NotEmptyError", msg, err)
|
||||
}
|
||||
|
||||
func NewBadRequestError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(400, "BadRequestError", msg, err)
|
||||
}
|
||||
|
||||
func NewUnauthorizedError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(401, "UnauthorizedError", msg, err)
|
||||
}
|
||||
|
||||
func NewInvalidCredentialError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(401, "InvalidCredentialError", msg, err)
|
||||
}
|
||||
|
||||
func NewForbiddenError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(403, "ForbiddenError", msg, err)
|
||||
}
|
||||
|
||||
func NewNotFoundError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(404, "NotFoundError", msg, err)
|
||||
}
|
||||
|
||||
func NewNotAcceptableError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(406, "NotAcceptableError", msg, err)
|
||||
}
|
||||
|
||||
@@ -171,17 +171,17 @@ func NewDuplicateNameError(resName string, resId string) *httputils.JSONClientEr
|
||||
}
|
||||
|
||||
func NewConflictError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(409, "ConflictError", msg, err)
|
||||
}
|
||||
|
||||
func NewResourceBusyError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(409, "ResourceBusyError", msg, err)
|
||||
}
|
||||
|
||||
func NewRequireLicenseError(msg string, params ...interface{}) *httputils.JSONClientError {
|
||||
msg, err := errorMessage(msg, params)
|
||||
msg, err := errorMessage(msg, params...)
|
||||
return NewJsonClientError(402, "RequireLicenseError", msg, err)
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
package httperrors
|
||||
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestVariadic(t *testing.T) {
|
||||
conv := func(v interface{}) interface{} { return v }
|
||||
cases := []struct {
|
||||
name string
|
||||
msg string
|
||||
params []interface{}
|
||||
out string
|
||||
}{
|
||||
{
|
||||
name: "no params",
|
||||
msg: "hello",
|
||||
out: "hello",
|
||||
},
|
||||
{
|
||||
name: "no params (with fmt escape)",
|
||||
msg: "hello %s %d %v",
|
||||
out: "hello %s %d %v",
|
||||
},
|
||||
{
|
||||
name: "with params (no fmt escape)",
|
||||
msg: "hello",
|
||||
params: []interface{}{conv("world")},
|
||||
out: "hello%!(EXTRA string=world)",
|
||||
},
|
||||
{
|
||||
name: "with params (with fmt escape)",
|
||||
msg: "hello %s",
|
||||
params: []interface{}{conv("world")},
|
||||
out: "hello world",
|
||||
},
|
||||
}
|
||||
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 := NewInputParameterError(c.msg, c.params...)
|
||||
if err.Details != c.out {
|
||||
t.Errorf("want %s, got %s", c.out, err.Details)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user