@@ -35,36 +35,44 @@ func (e Error) Error() string {
35
35
// NewError creates and returns a new instace of Error
36
36
// with custom error metadata.
37
37
func NewError (etype string , message string , data interface {}) error {
38
- err := Error {}
39
- err .Message = message
40
- err .ErrorType = etype
41
- err .Data = data
38
+ var (
39
+ code = http .StatusInternalServerError
40
+ )
42
41
43
42
switch etype {
44
43
case GeneralError :
45
- err . Code = http .StatusInternalServerError
44
+ code = http .StatusInternalServerError
46
45
case TokenError :
47
- err . Code = http .StatusForbidden
46
+ code = http .StatusForbidden
48
47
case PermissionError :
49
- err . Code = http .StatusForbidden
48
+ code = http .StatusForbidden
50
49
case UserError :
51
- err . Code = http .StatusForbidden
50
+ code = http .StatusForbidden
52
51
case TwoFAError :
53
- err . Code = http .StatusForbidden
52
+ code = http .StatusForbidden
54
53
case OrderError :
55
- err . Code = http .StatusBadRequest
54
+ code = http .StatusBadRequest
56
55
case InputError :
57
- err . Code = http .StatusBadRequest
56
+ code = http .StatusBadRequest
58
57
case DataError :
59
- err . Code = http .StatusGatewayTimeout
58
+ code = http .StatusGatewayTimeout
60
59
case NetworkError :
61
- err . Code = http .StatusServiceUnavailable
60
+ code = http .StatusServiceUnavailable
62
61
default :
63
- err . Code = http .StatusInternalServerError
64
- err . ErrorType = GeneralError
62
+ code = http .StatusInternalServerError
63
+ etype = GeneralError
65
64
}
66
65
67
- return err
66
+ return newError (etype , message , code , data )
67
+ }
68
+
69
+ func newError (etype , message string , code int , data interface {}) Error {
70
+ return Error {
71
+ Message : message ,
72
+ ErrorType : etype ,
73
+ Data : data ,
74
+ Code : code ,
75
+ }
68
76
}
69
77
70
78
// GetErrorName returns an error name given an HTTP code.
0 commit comments