From 9770d54237bea828cab7e50aec7dff452c203138 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Wed, 9 Aug 2023 19:14:33 +0200 Subject: [feature] List replies policy, refactor async workers (#2087) * Add/update some DB functions. * move async workers into subprocessor * rename FromFederator -> FromFediAPI * update home timeline check to include check for current status first before moving to parent status * change streamMap to pointer to mollify linter * update followtoas func signature * fix merge * remove errant debug log * don't use separate errs.Combine() check to wrap errs * wrap parts of workers functionality in sub-structs * populate report using new db funcs * embed federator (tiny bit tidier) * flesh out error msg, add continue(!) * fix other error messages to be more specific * better, nicer * give parseURI util function a bit more util * missing headers * use pointers for subprocessors --- internal/gtserror/new.go | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'internal/gtserror') diff --git a/internal/gtserror/new.go b/internal/gtserror/new.go index bb88d5f6a..c360d3345 100644 --- a/internal/gtserror/new.go +++ b/internal/gtserror/new.go @@ -21,16 +21,34 @@ import ( "net/http" ) -// New returns a new error, prepended with caller function name if gtserror.Caller is enabled. +// New returns a new error, prepended with caller +// function name if gtserror.Caller is enabled. func New(msg string) error { return newAt(3, msg) } -// Newf returns a new formatted error, prepended with caller function name if gtserror.Caller is enabled. +// Newf returns a new formatted error, prepended with +// caller function name if gtserror.Caller is enabled. func Newf(msgf string, args ...any) error { return newfAt(3, msgf, args...) } +// NewfAt returns a new formatted error with the given +// calldepth+1, useful when you want to wrap an error +// from within an anonymous function or utility function, +// but preserve the name in the error of the wrapping +// function that did the calling. +// +// Provide calldepth 2 to prepend only the name of the +// current containing function, 3 to prepend the name +// of the function containing *that* function, and so on. +// +// This function is just exposed for dry-dick optimization +// purposes. Most callers should just call Newf instead. +func NewfAt(calldepth int, msgf string, args ...any) error { + return newfAt(calldepth+1, msgf, args...) +} + // NewResponseError crafts an error from provided HTTP response // including the method, status and body (if any provided). This // will also wrap the returned error using WithStatusCode() and -- cgit v1.3