Skip to content

Repository files navigation

morecontext

context.Context helpers to make your life slightly easier.

-- import "github.com/gopuff/morecontext"

Usage

func ForSignals

funcForSignals(sigs...os.Signal) context.Context

ForSignals returns a context.Context that will be cancelled if the given signals (or SIGTERM and SIGINT by default, if none are passed) are received by the process.

func WithMessage

funcWithMessage(ctx context.Context, formatstring, args...interface{}) context.Context

WithMessage is a helper for creating a MessageContext instance, with more context about exactly which context cancellation occurred.

type MessageContext

typeMessageContextstruct {
context.ContextMessagestring
}

MessageContext is a context.Context wrapper that is intended to include some extra metadata about which context was cancelled. Useful for distinguishing e.g. http request cancellation vs deadline vs process sigterm handling.

func (MessageContext) Err

func (cMessageContext) Err() error

Err returns an error with extra context messaging

type MessageError

typeMessageErrorstruct {
MessagestringOriginalerror
}

MessageError implements error but separates the message from the original error in case you want it.

func (*MessageError) Error

func (c*MessageError) Error() string

Error implements error and prints out the message plus the metadata about which context was cancelled.

func (*MessageError) Unwrap

func (c*MessageError) Unwrap() error

Unwrap supports errors.Is/errors.As

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages