🎉 Add interfaces
This commit is contained in:
commit
59b2969d77
2 changed files with 32 additions and 0 deletions
3
go.mod
Normal file
3
go.mod
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
module codeberg.org/danjones000/responsable-errors
|
||||||
|
|
||||||
|
go 1.21.5
|
||||||
29
interface.go
Normal file
29
interface.go
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
package errors
|
||||||
|
|
||||||
|
// ResponsableError is an error that has information useful in an HTTP response.
|
||||||
|
// The string returned by Error should be suitable for logging useful information
|
||||||
|
// to assist debugging the error.
|
||||||
|
// Status should return an appropriate HTTP status.
|
||||||
|
// Msg should return a message suitable to display to the end user. If the message
|
||||||
|
// returned by Error is safe for the end user, it may simply call that.
|
||||||
|
type ResponsableError interface {
|
||||||
|
Error() string
|
||||||
|
Status() int
|
||||||
|
Msg() string
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnwrappableError allows a ResponsableError to wrap another error.
|
||||||
|
// It may be appropriate for Error() to delegate to the wrapped error.
|
||||||
|
type UnwrappableError interface {
|
||||||
|
ResponsableError
|
||||||
|
Unwrap() error
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnwrappableErrorrs allows a ResponsableError to wrap multiple errors.
|
||||||
|
// It may be appropriate for Error() to either delegate to the first error,
|
||||||
|
// the last error, or to concatenate the return values of all wrapped errors,
|
||||||
|
// similar to errors returned by errors.Join
|
||||||
|
type UnwrappableErrors interface {
|
||||||
|
ResponsableError
|
||||||
|
Unwrap() []error
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue