summaryrefslogtreecommitdiff
path: root/internal/gtserror
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2023-08-09 19:14:33 +0200
committerLibravatar GitHub <noreply@github.com>2023-08-09 19:14:33 +0200
commit9770d54237bea828cab7e50aec7dff452c203138 (patch)
tree59c444a02e81925bab47d3656a489a8c7087d530 /internal/gtserror
parent[bugfix] Fix incorrect per-loop variable capture (#2092) (diff)
downloadgotosocial-9770d54237bea828cab7e50aec7dff452c203138.tar.xz
[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
Diffstat (limited to 'internal/gtserror')
-rw-r--r--internal/gtserror/new.go22
1 files changed, 20 insertions, 2 deletions
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