Documentation ¶
Index ¶
- func ProcessCtx(ctx context.Context) string
- func WithProcessContext(ctx context.Context, processID string) context.Context
- type ErrorHandler
- type StorageErrorWrapper
- type UseCaseErrorWrapper
- func (h *UseCaseErrorWrapper) IsNotFoundError(err error) bool
- func (h *UseCaseErrorWrapper) WrapErrorEntityFailed(err error, entityName string, entityData any) error
- func (h *UseCaseErrorWrapper) WrapErrorEntityNotFoundOrFailed(err error, entityName string, entityData any) error
- func (h *UseCaseErrorWrapper) WrapErrorFailed(err error, source string) error
- func (h *UseCaseErrorWrapper) WrapErrorNotFoundOrFailed(err error, source string) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ProcessCtx ¶ added in v0.26.0
ProcessCtx - возвращает контекст с указанным идентификатором текущего процесса.
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.