mirror of
https://github.com/FluuxIO/go-xmpp
synced 2024-11-11 07:11:03 +00:00
34 lines
620 B
Go
34 lines
620 B
Go
package xmpp
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"golang.org/x/xerrors"
|
|
)
|
|
|
|
type ConnError struct {
|
|
frame xerrors.Frame
|
|
err error
|
|
// Permanent will be true if error is not recoverable
|
|
Permanent bool
|
|
}
|
|
|
|
func NewConnError(err error, permanent bool) ConnError {
|
|
return ConnError{err: err, frame: xerrors.Caller(1), Permanent: permanent}
|
|
}
|
|
|
|
func (e ConnError) Format(s fmt.State, verb rune) {
|
|
xerrors.FormatError(e, s, verb)
|
|
}
|
|
|
|
func (e ConnError) FormatError(p xerrors.Printer) error {
|
|
e.frame.Format(p)
|
|
return e.err
|
|
}
|
|
|
|
func (e ConnError) Error() string {
|
|
return fmt.Sprint(e)
|
|
}
|
|
|
|
func (e ConnError) Unwrap() error { return e.err }
|