forked from mirror/gin
Using uint64 for ErrorType
This commit is contained in:
parent
a373dc0deb
commit
2ebb6dcb95
20
errors.go
20
errors.go
|
@ -11,20 +11,22 @@ import (
|
||||||
"reflect"
|
"reflect"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
type ErrorType uint64
|
||||||
ErrorTypeBind = 1 << 30
|
|
||||||
ErrorTypeRender = 1 << 29
|
|
||||||
ErrorTypePrivate = 1 << 0
|
|
||||||
ErrorTypePublic = 1 << 1
|
|
||||||
|
|
||||||
ErrorTypeAny = 0xfffffff
|
const (
|
||||||
|
ErrorTypeBind ErrorType = 1 << 63 // used when c.Bind() fails
|
||||||
|
ErrorTypeRender ErrorType = 1 << 62 // used when c.Render() fails
|
||||||
|
ErrorTypePrivate ErrorType = 1 << 0
|
||||||
|
ErrorTypePublic ErrorType = 1 << 1
|
||||||
|
|
||||||
|
ErrorTypeAny ErrorType = 1<<64 - 1
|
||||||
ErrorTypeNu = 2
|
ErrorTypeNu = 2
|
||||||
)
|
)
|
||||||
|
|
||||||
type (
|
type (
|
||||||
Error struct {
|
Error struct {
|
||||||
Err error `json:"error"`
|
Err error `json:"error"`
|
||||||
Type int `json:"-"`
|
Type ErrorType `json:"-"`
|
||||||
Meta interface{} `json:"meta"`
|
Meta interface{} `json:"meta"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,7 +35,7 @@ type (
|
||||||
|
|
||||||
var _ error = &Error{}
|
var _ error = &Error{}
|
||||||
|
|
||||||
func (msg *Error) SetType(flags int) *Error {
|
func (msg *Error) SetType(flags ErrorType) *Error {
|
||||||
msg.Type = flags
|
msg.Type = flags
|
||||||
return msg
|
return msg
|
||||||
}
|
}
|
||||||
|
@ -72,7 +74,7 @@ func (msg *Error) Error() string {
|
||||||
return msg.Err.Error()
|
return msg.Err.Error()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a errorMsgs) ByType(typ int) errorMsgs {
|
func (a errorMsgs) ByType(typ ErrorType) errorMsgs {
|
||||||
if len(a) == 0 {
|
if len(a) == 0 {
|
||||||
return a
|
return a
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ func ErrorLogger() HandlerFunc {
|
||||||
return ErrorLoggerT(ErrorTypeAny)
|
return ErrorLoggerT(ErrorTypeAny)
|
||||||
}
|
}
|
||||||
|
|
||||||
func ErrorLoggerT(typ int) HandlerFunc {
|
func ErrorLoggerT(typ ErrorType) HandlerFunc {
|
||||||
return func(c *Context) {
|
return func(c *Context) {
|
||||||
c.Next()
|
c.Next()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue