12345678910111213141516171819202122232425262728293031323334353637 |
- package challenge
- import (
- "errors"
- "fmt"
- "net/http"
- )
- var (
- ErrFailed = errors.New("challenge: user failed challenge")
- ErrMissingField = errors.New("challenge: missing field")
- ErrInvalidFormat = errors.New("challenge: field has invalid format")
- )
- func NewError(verb, publicReason string, privateReason error) *Error {
- return &Error{
- Verb: verb,
- PublicReason: publicReason,
- PrivateReason: privateReason,
- StatusCode: http.StatusForbidden,
- }
- }
- type Error struct {
- PrivateReason error
- Verb string
- PublicReason string
- StatusCode int
- }
- func (e *Error) Error() string {
- return fmt.Sprintf("challenge: error when processing challenge: %s: %v", e.Verb, e.PrivateReason)
- }
- func (e *Error) Unwrap() error {
- return e.PrivateReason
- }
|