errors

package
v0.0.0-...-81dd437 Latest Latest
Warning

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

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

README

Errors

errors package serve to build an arbitrary long error chain in order to capture errors returned from nested service calls.

errors package contains the custom Go error interface implementation, Error. You use the Error interface to wrap two errors in a containing error as well as to test recursively if a given error contains some other error.

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrAuthentication indicates failure occurred while authenticating the entity.
	ErrAuthentication = New("failed to perform authentication over the entity")

	// ErrAuthorization indicates failure occurred while authorizing the entity.
	ErrAuthorization = New("failed to perform authorization over the entity")

	// ErrMalformedEntity indicates a malformed entity specification.
	ErrMalformedEntity = New("malformed entity specification")

	// ErrNotFound indicates a non-existent entity request.
	ErrNotFound = New("entity not found")

	// ErrConflict indicates that entity already exists.
	ErrConflict = New("entity already exists")

	// ErrCreateEntity indicates error in creating entity or entities.
	ErrCreateEntity = New("failed to create entity in the db")

	// ErrRetrieveEntity indicates error in viewing entity or entities.
	ErrRetrieveEntity = New("failed to retrieve entity")

	// ErrUpdateEntity indicates error in updating entity or entities.
	ErrUpdateEntity = New("failed to update entity")

	// ErrRemoveEntity indicates error in removing entity.
	ErrRemoveEntity = New("failed to remove entity")

	// ErrScanMetadata indicates problem with metadata in db.
	ErrScanMetadata = New("failed to scan metadata in db")

	// ErrSaveMessage indicates failure occurred while saving message to database.
	ErrSaveMessage = New("failed to save message to database")

	// ErrMessage indicates an error converting a message to Mainflux message.
	ErrMessage = New("failed to convert to Mainflux message")
)

Functions

func Contains

func Contains(e1 error, e2 error) bool

Contains inspects if e2 error is contained in any layer of e1 error

func SignalHandler

func SignalHandler(ctx context.Context) error

func Wrap

func Wrap(wrapper error, err error) error

Wrap returns an Error that wrap err with wrapper

Types

type Error

type Error interface {

	// Error implements the error interface.
	Error() string

	// Msg returns error message
	Msg() string

	// Err returns wrapped error
	Err() Error
}

Error specifies an API that must be fullfiled by error type

func New

func New(text string) Error

New returns an Error that formats as the given text.

type SDKError

type SDKError interface {
	Error
	StatusCode() int
}

SDKError is an error type for Mainflux SDK.

func CheckError

func CheckError(resp *http.Response, expectedStatusCodes ...int) SDKError

CheckError will check the HTTP response status code and matches it with the given status codes. Since multiple status codes can be valid, we can pass multiple status codes to the function. The function then checks for errors in the HTTP response.

func NewSDKError

func NewSDKError(err error) SDKError

NewSDKError returns an SDK Error that formats as the given text.

func NewSDKErrorWithStatus

func NewSDKErrorWithStatus(err error, statusCode int) SDKError

NewSDKErrorWithStatus returns an SDK Error setting the status code.

Jump to

Keyboard shortcuts

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