errors

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2024 License: MPL-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CodeInternal int32 = iota + 1
	CodeNotFound
	CodeInvalidArgument
	CodePreconditionFailed
	CodeNoPermission
	CodeRPC
)

Internal error codes.

Variables

This section is empty.

Functions

func FromGRPCStatus added in v0.3.0

func FromGRPCStatus(st *status.Status) error

Types

type AbortError

type AbortError struct {
	Message    string
	InnerError error
}

func NewAbortError

func NewAbortError(message string, err error) *AbortError

NewAbortError creates an error that the API Start call must return internally.

func (*AbortError) Error

func (s *AbortError) Error() string

type Error

type Error struct {
	Code          int32     `json:"code"`
	ServiceName   string    `json:"service_name,omitempty"`
	Message       string    `json:"message,omitempty"`
	Destination   string    `json:"destination,omitempty"`
	Kind          ErrorKind `json:"kind"`
	SublevelError string    `json:"details,omitempty"`
	// contains filtered or unexported fields
}

Error is the framework error type that a service handler should return to keep a standard error between services.

func (*Error) Error

func (e *Error) Error() string

func (*Error) String

func (e *Error) String() string

type ErrorKind

type ErrorKind string

ErrorKind is an error representation of a mapped error.

var (
	KindValidation   ErrorKind = "ValidationError"
	KindInternal     ErrorKind = "InternalError"
	KindNotFound     ErrorKind = "NotFoundError"
	KindPrecondition ErrorKind = "ConditionError"
	KindPermission   ErrorKind = "PermissionError"
	KindRPC          ErrorKind = "RPCError"
	KindCustom       ErrorKind = "CustomError"
)

type Factory

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

func NewFactory

func NewFactory(options FactoryOptions) *Factory

NewFactory creates a new Factory object.

func (*Factory) Custom

func (f *Factory) Custom(msg string) errorsApi.Error

Custom lets a service set a custom error kind for its errors. Internally, it will be treated as an Internal error.

func (*Factory) FailedPrecondition

func (f *Factory) FailedPrecondition(message string) errorsApi.Error

FailedPrecondition sets that the current error is related to an internal condition which wasn't satisfied.

func (*Factory) Internal

func (f *Factory) Internal(err error) errorsApi.Error

Internal sets that the current error is related to an internal service error.

func (*Factory) InvalidArgument

func (f *Factory) InvalidArgument(err error) errorsApi.Error

InvalidArgument sets that the current error is related to an argument that didn't follow validation rules.

func (*Factory) NotFound

func (f *Factory) NotFound() errorsApi.Error

NotFound sets that the current error is related to some data not being found, probably in the database.

func (*Factory) PermissionDenied

func (f *Factory) PermissionDenied() errorsApi.Error

PermissionDenied sets that the current error is related to a client trying to access a resource without having permission to do so.

func (*Factory) RPC

func (f *Factory) RPC(err error, destination string) errorsApi.Error

RPC sets that the current error is related to an RPC call with another gRPC service (destination), However, it checks if the error is already a known error, so it does not override it.

type FactoryOptions

type FactoryOptions struct {
	HideMessageDetails bool
	ServiceName        string
	Logger             loggerApi.Logger
}

type ServiceError

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

ServiceError is a structure that holds internal error details to improve error log description for the end-user, and it implements the errorApi.Error interface.

func (*ServiceError) Submit

func (s *ServiceError) Submit(ctx context.Context) error

func (*ServiceError) WithAttributes

func (s *ServiceError) WithAttributes(attrs ...loggerApi.Attribute) errorsApi.Error

func (*ServiceError) WithCode

func (s *ServiceError) WithCode(code int32) errorsApi.Error

Jump to

Keyboard shortcuts

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