errors

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Oct 2, 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 (
	// 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