nix

package module
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jan 3, 2026 License: MIT Imports: 11 Imported by: 0

README

Utility package for Golang error and context handling

Documentation

Index

Constants

View Source
const (
	DevEnv     string = "dev"
	StagingEnv string = "staging"
	TestEnv    string = "test"
	ProdEnv    string = "prod"
)

Variables

Functions

func ErrorToZeroLog

func ErrorToZeroLog(err error) *zerolog.Event

func ErrorsToZeroLog

func ErrorsToZeroLog(errs []error) *zerolog.Array

func PanicOnErr

func PanicOnErr(err error)

func PanicOnErrVal

func PanicOnErrVal[T any](val T, err error) T

func PanicOnErrValExceptNoRows

func PanicOnErrValExceptNoRows[T any](val T, err error) T

func WarnOnErr

func WarnOnErr(err error)

func WarnOnErrVal

func WarnOnErrVal[T any](val T, err error) T

Types

type Error

type Error struct {
	HttpCode        int
	UserMessages    []string
	WrappedError    error
	ErrorLogContext LogKV
	StackTrace      []string
	Flags           ErrorFlags
}

func NewError

func NewError(errorString string) *Error

func NewHttpError

func NewHttpError(code int) *Error

func NewWrappedError

func NewWrappedError(err error) *Error

func NewWrappedErrorWithoutTrace

func NewWrappedErrorWithoutTrace(err error) *Error

func (*Error) AddFlag

func (ae *Error) AddFlag(f ErrorFlags) *Error

func (*Error) AddLogContext

func (ae *Error) AddLogContext(key string, val any) *Error

func (*Error) AddMessage

func (ae *Error) AddMessage(msg string) *Error

func (*Error) Error

func (ae *Error) Error() string

func (*Error) HasFlag

func (ae *Error) HasFlag(f ErrorFlags) bool

func (*Error) HttpError

func (ae *Error) HttpError(code int) *Error

func (*Error) IsNil

func (ae *Error) IsNil() bool

func (*Error) TakeStackTrace

func (ae *Error) TakeStackTrace(stackTrace []byte) *Error

func (*Error) WithStackTrace

func (ae *Error) WithStackTrace() *Error

func (*Error) Wrap

func (ae *Error) Wrap(err error) *Error

type ErrorFlags

type ErrorFlags int
const (
	WarningFlag ErrorFlags = 1 << iota
)

type LogKV

type LogKV map[string]any

type Task

type Task struct {
	context.Context
	TraceID  string // HTTP's request_id or Job's trace_id
	LogItems LogKV
	Log      zerolog.Logger
	Warnings []error
}

Stores everything needed to perform one task, eg. run one job or perform one HTTP request

func NewTask

func NewTask(ctx context.Context) *Task

func (*Task) AddLogContext

func (nc *Task) AddLogContext(key string, value any)

func (*Task) AddToLogContextList

func (nc *Task) AddToLogContextList(key, str string)

func (*Task) AddWarning

func (nc *Task) AddWarning(err error)

func (*Task) AddWarningStr

func (nc *Task) AddWarningStr(msg string)

func (*Task) SetRequestID

func (nc *Task) SetRequestID(requestID string)

func (*Task) SetTraceID

func (nc *Task) SetTraceID(traceID string)

func (*Task) ToZeroLog

func (nc *Task) ToZeroLog() *zerolog.Event

func (*Task) WrapErrorsAndPanics

func (nc *Task) WrapErrorsAndPanics(f func() error) (reterr error)

Jump to

Keyboard shortcuts

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