diff --git a/errs/error.go b/errs/error.go index 3e40b3f3..60312313 100644 --- a/errs/error.go +++ b/errs/error.go @@ -246,6 +246,9 @@ func New(status int, format string, args ...interface{}) error { // NewError creates a new http error with the given error and message. func NewError(status int, err error, format string, args ...interface{}) error { + if _, ok := err.(*Error); ok { + return err + } msg := fmt.Sprintf(format, args...) if _, ok := err.(StackTracer); !ok { err = errors.Wrap(err, msg)