errors

package
v0.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 12, 2024 License: MIT Imports: 4 Imported by: 5

Documentation

Index

Constants

View Source
const (
	// StatusBadRequest ...
	StatusBadRequest = "INVALID_ARGUMENT"
	// StatusUnauthenticated ...
	StatusUnauthenticated = "UNAUTHENTICATED"
	// StatusPermissionDenied ...
	StatusPermissionDenied = "PERMISSION_DENIED"
	// StatusNotFound ...
	StatusNotFound = "NOT_FOUND"
	// StatusAborted ...
	StatusAborted = "ABORTED"
	// StatusAlreadyExists ...
	StatusAlreadyExists = "ALREADY_EXISTS"
	// StatusResourceExhausted ...
	StatusResourceExhausted = "RESOURCE_EXHAUSTED"
	// StatusUnavailable ...
	StatusUnavailable = "UNAVAILABLE"
	// StatusBackendError ...
	StatusBackendError = "INTERNAL"
)

Status

View Source
const (
	// ReasonBadRequest ...
	ReasonBadRequest = "badRequest"
	// ReasonUnauthenticated ...
	ReasonUnauthenticated = "unauthenticated"
	// ReasonPermissionDenied ...
	ReasonPermissionDenied = "permissionDenied"
	// ReasonNotFound ...
	ReasonNotFound = "notFound"
	// ReasonAborted ...
	ReasonAborted = "abourtedRequest"
	// ReasonAlreadyExists ...
	ReasonAlreadyExists = "alreadyExists"
	// ReasonResourceExhausted ...
	ReasonResourceExhausted = "userRateLimitExceeded"
	// ReasonUnavailable ...
	ReasonUnavailable = "unavailable"
	// ReasonBackendError ...
	ReasonBackendError = "backendError"
)

Reason

Variables

View Source
var (
	// As finds the first error in err's chain that matches target, and if so,
	// sets target to that error value and returns true. Otherwise, it returns false.
	As = errors.As

	// Is reports whether any error in err's chain matches target.
	Is = errors.Is

	// New returns an error that formats as the given text.
	// Each call to New returns a distinct error value even if the text is identical.
	New = errors.New

	// Unwrap returns the result of calling the Unwrap method on err,
	// if err's type contains an Unwrap method returning error. Otherwise, Unwrap returns nil.
	Unwrap = errors.Unwrap

	// CaseBadRequest ...
	CaseBadRequest = ErrCase{
		Code:   http.StatusBadRequest,
		Status: StatusBadRequest,
		Reason: ReasonBadRequest,
	}

	// CaseUnauthenticated ...
	CaseUnauthenticated = ErrCase{
		Code:   http.StatusUnauthorized,
		Status: StatusUnauthenticated,
		Reason: ReasonUnauthenticated,
	}

	// CasePermissionDenied ...
	CasePermissionDenied = ErrCase{
		Code:   http.StatusForbidden,
		Status: StatusPermissionDenied,
		Reason: ReasonPermissionDenied,
	}

	// CaseNotFound ...
	CaseNotFound = ErrCase{
		Code:   http.StatusNotFound,
		Status: StatusNotFound,
		Reason: ReasonNotFound,
	}

	// CaseAborted ...
	CaseAborted = ErrCase{
		Code:   http.StatusConflict,
		Status: StatusAborted,
		Reason: ReasonAborted,
	}

	// CaseAlreadyExists ...
	CaseAlreadyExists = ErrCase{
		Code:   http.StatusConflict,
		Status: StatusBackendError,
		Reason: ReasonBackendError,
	}

	// CaseResourceExhausted ...
	CaseResourceExhausted = ErrCase{
		Code:   http.StatusTooManyRequests,
		Status: StatusResourceExhausted,
		Reason: ReasonResourceExhausted,
	}

	// CaseUnavailable ...
	CaseUnavailable = ErrCase{
		Code:   http.StatusServiceUnavailable,
		Status: StatusUnavailable,
		Reason: ReasonUnavailable,
	}

	// CaseBackendError ...
	CaseBackendError = ErrCase{
		Code:   http.StatusInternalServerError,
		Status: StatusBackendError,
		Reason: ReasonBackendError,
	}
)

Functions

func NewCause

func NewCause(err error, c ErrCase) error

NewCause ...

func NewCauseWithStatus

func NewCauseWithStatus(err error, code int, status, reason string) error

NewCauseWithStatus ...

Types

type Cause

type Cause struct {
	// contains filtered or unexported fields
}

Cause ...

func (*Cause) Append

func (c *Cause) Append(e error)

Append one or more elements onto the end of details

func (*Cause) Code

func (c *Cause) Code() int

Code get http status code

func (*Cause) Error

func (c *Cause) Error() string

Error return error message

func (*Cause) IsZero

func (c *Cause) IsZero() bool

IsZero checks empty

func (*Cause) MarshalJSON

func (c *Cause) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface

func (*Cause) UnmarshalJSON

func (c *Cause) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the json.Unmarshaler interface

func (*Cause) Unwrap

func (c *Cause) Unwrap() error

Unwrap implements errors.Unwrap method

type Detail

type Detail struct {
	Reason  string
	Message string
}

Detail ...

type ErrCase

type ErrCase struct {
	Code   int
	Status string
	Reason string
}

ErrCase ...

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL