From 7260aa0cd70195a4679ca3c94204d9e618f947f2 Mon Sep 17 00:00:00 2001 From: jwijenbergh Date: Wed, 19 Oct 2022 16:51:48 +0200 Subject: Refactor: Make errors use the parent's error level - All wrapped errors have to be created with types.NewWrappedError to inherit the error level from the parent - Or types.NewWrappedErrorLevel can be used which means a custom error level is given. For example this is done with cancelling OAuth - Client public errors are forwarded with handleError that also logs it with the error's level --- types/error.go | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'types') diff --git a/types/error.go b/types/error.go index c49fba2..dc4b90e 100644 --- a/types/error.go +++ b/types/error.go @@ -27,6 +27,16 @@ type WrappedErrorMessage struct { Err error } +// NewWrappedError returns a WrappedErrorMessage and uses the error level from the parent +func NewWrappedError(message string, err error) *WrappedErrorMessage { + return &WrappedErrorMessage{Level: GetErrorLevel(err), Message: message, Err: err} +} + +// NewWrappedError returns a WrappedErrorMessage and uses the given error level from the parent +func NewWrappedErrorLevel(level ErrorLevel, message string, err error) *WrappedErrorMessage { + return &WrappedErrorMessage{Level: level, Message: message, Err: err} +} + func (e *WrappedErrorMessage) Unwrap() error { return e.Err } -- cgit v1.2.3