mrapp

package
v0.28.4 Latest Latest
Warning

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

Go to latest
Published: Nov 30, 2024 License: Apache-2.0 Imports: 4 Imported by: 10

Documentation

Index

Constants

View Source
const (
	// KeyProcessID - название ключа ID процесса.
	KeyProcessID = "processId"

	// KeyWorkerNumber - название ключа ID воркера.
	KeyWorkerNumber = "workerN"

	// KeyRequestID - название ключа ID запроса.
	KeyRequestID = "requestId"

	// KeyCorrelationID - название ключа ID внешнего клиента.
	KeyCorrelationID = "correlationId"

	// KeySeparator - соединитель значений ключей.
	KeySeparator = "/"
)

Variables

This section is empty.

Functions

func ProcessCtx added in v0.26.0

func ProcessCtx(ctx context.Context) string

ProcessCtx - возвращает контекст с указанным идентификатором текущего процесса.

func WithProcessContext added in v0.26.0

func WithProcessContext(ctx context.Context, processID string) context.Context

WithProcessContext - устанавливает в контекст указанный идентификатор процесса.

Types

type ErrorHandler

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

ErrorHandler - обработчик ошибок приложения.

func NewErrorHandler

func NewErrorHandler() *ErrorHandler

NewErrorHandler - создаёт объект ErrorHandler.

func NewErrorHandlerWithHook

func NewErrorHandlerWithHook(hook func(ctx context.Context, errType mrcore.AnalyzedErrorType, err *mrerr.AppError)) *ErrorHandler

NewErrorHandlerWithHook - создаёт объект ErrorHandler с указанным хук функцией.

func (*ErrorHandler) Perform

func (h *ErrorHandler) Perform(ctx context.Context, err error)

Perform - версия метода PerformWithCommit без вызова коммит функции.

func (*ErrorHandler) PerformWithCommit

func (h *ErrorHandler) PerformWithCommit(ctx context.Context, err error, commit func(errType mrcore.AnalyzedErrorType, err *mrerr.AppError))

PerformWithCommit - анализирует ошибку, при необходимости оборачивает её в ErrUnexpectedInternal и вызывает хук функцию, а затем коммит функцию. В результате вызова этих функций ошибка может быть, например, залогирована и использована при формировании ответа серверу.

type StorageErrorWrapper added in v0.26.0

type StorageErrorWrapper struct{}

StorageErrorWrapper - помощник оборачивания перехваченных ошибок в часто используемые ошибки инфраструктурного слоя приложения.

func NewStorageErrorWrapper added in v0.26.0

func NewStorageErrorWrapper() *StorageErrorWrapper

NewStorageErrorWrapper - создаёт объект StorageErrorWrapper.

func (*StorageErrorWrapper) WrapError added in v0.26.0

func (h *StorageErrorWrapper) WrapError(err error, source string) error

WrapError - возвращает ошибку с указанием источника. Если ошибка не mrerr.AppError или не mrerr.ProtoAppError, то она оборачивается в mrcore.ErrStorageQueryFailed.

func (*StorageErrorWrapper) WrapErrorEntity added in v0.26.0

func (h *StorageErrorWrapper) WrapErrorEntity(err error, entityName string, entityData any) error

WrapErrorEntity - возвращает ошибку с указанием сущности и её данных. Если ошибка не mrerr.AppError или не mrerr.ProtoAppError, то она оборачивается в mrcore.ErrStorageQueryFailed.

type UseCaseErrorWrapper

type UseCaseErrorWrapper struct{}

UseCaseErrorWrapper - помощник оборачивания перехваченных ошибок в часто используемые ошибки бизнес-логики приложения.

func NewUseCaseErrorWrapper

func NewUseCaseErrorWrapper() *UseCaseErrorWrapper

NewUseCaseErrorWrapper - создаёт объект UseCaseErrorWrapper.

func (*UseCaseErrorWrapper) IsNotFoundError

func (h *UseCaseErrorWrapper) IsNotFoundError(err error) bool

IsNotFoundError - проверяет, является ли ошибка связанной с тем, что запрос валидный, но запись не найдена или её изменение не потребовалось.

func (*UseCaseErrorWrapper) WrapErrorEntityFailed

func (h *UseCaseErrorWrapper) WrapErrorEntityFailed(err error, entityName string, entityData any) error

WrapErrorEntityFailed - возвращает ошибку с указанием сущности и её данных, обёрнутую в mrcore.ErrUseCaseTemporarilyUnavailable или mrcore.ErrUseCaseOperationFailed.

func (*UseCaseErrorWrapper) WrapErrorEntityNotFoundOrFailed

func (h *UseCaseErrorWrapper) WrapErrorEntityNotFoundOrFailed(err error, entityName string, entityData any) error

WrapErrorEntityNotFoundOrFailed - возвращает ошибку с указанием сущности и её данных, обёрнутую в mrcore.ErrUseCaseEntityNotFound, mrcore.ErrUseCaseTemporarilyUnavailable или mrcore.ErrUseCaseOperationFailed.

func (*UseCaseErrorWrapper) WrapErrorFailed

func (h *UseCaseErrorWrapper) WrapErrorFailed(err error, source string) error

WrapErrorFailed - возвращает ошибку с указанием источника, обёрнутую в mrcore.ErrUseCaseTemporarilyUnavailable или mrcore.ErrUseCaseOperationFailed.

func (*UseCaseErrorWrapper) WrapErrorNotFoundOrFailed

func (h *UseCaseErrorWrapper) WrapErrorNotFoundOrFailed(err error, source string) error

WrapErrorNotFoundOrFailed - возвращает ошибку с указанием источника, обёрнутую в mrcore.ErrUseCaseEntityNotFound, mrcore.ErrUseCaseTemporarilyUnavailable или mrcore.ErrUseCaseOperationFailed.

Jump to

Keyboard shortcuts

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