Using uint64 for ErrorType
This commit is contained in:
		
							
								
								
									
										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()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user