71 lines
1.1 KiB
Go
71 lines
1.1 KiB
Go
|
package webserver
|
||
|
|
||
|
import "fmt"
|
||
|
|
||
|
type GateError struct {
|
||
|
Message string
|
||
|
Err error
|
||
|
}
|
||
|
|
||
|
func (e *GateError) Error() string {
|
||
|
if e.Message != "" && e.Err != nil {
|
||
|
return fmt.Sprintf("%s: %v", e.Message, e.Err)
|
||
|
} else if e.Message != "" {
|
||
|
return e.Message
|
||
|
} else {
|
||
|
return e.Err.Error()
|
||
|
}
|
||
|
}
|
||
|
|
||
|
type InputError struct {
|
||
|
GateError
|
||
|
}
|
||
|
|
||
|
func NewInputError(message string, err error) *InputError {
|
||
|
return &InputError{
|
||
|
GateError{
|
||
|
Message: message,
|
||
|
Err: err,
|
||
|
},
|
||
|
}
|
||
|
}
|
||
|
|
||
|
type InternalError struct {
|
||
|
GateError
|
||
|
}
|
||
|
|
||
|
func NewInternalError(message string, err error) *InternalError {
|
||
|
return &InternalError{
|
||
|
GateError{
|
||
|
Message: message,
|
||
|
Err: err,
|
||
|
},
|
||
|
}
|
||
|
}
|
||
|
|
||
|
type NotFoundError struct {
|
||
|
GateError
|
||
|
}
|
||
|
|
||
|
func NewNotFoundError(message string, err error) *NotFoundError {
|
||
|
return &NotFoundError{
|
||
|
GateError{
|
||
|
Message: message,
|
||
|
Err: err,
|
||
|
},
|
||
|
}
|
||
|
}
|
||
|
|
||
|
type InvalidRequestError struct {
|
||
|
GateError
|
||
|
}
|
||
|
|
||
|
func NewInvalidRequestError(message string, err error) *InvalidRequestError {
|
||
|
return &InvalidRequestError{
|
||
|
GateError{
|
||
|
Message: message,
|
||
|
Err: err,
|
||
|
},
|
||
|
}
|
||
|
}
|