diff options
author | 2023-05-28 13:08:35 +0100 | |
---|---|---|
committer | 2023-05-28 14:08:35 +0200 | |
commit | 5faeb4de2032e112ab49751eeeb906ac43826f3d (patch) | |
tree | ea94b86f27384954ff93aec864b13b83c7f46db0 /internal/gtserror/new.go | |
parent | [docs] Update + simplify roadmap, revise beta estimate (#1826) (diff) | |
download | gotosocial-5faeb4de2032e112ab49751eeeb906ac43826f3d.tar.xz |
[chore] tidy up media manager, add calling func to errors, build-script improvements (#1835)
* media manager tidy-up: de-interface and remove unused PostDataFunc
Signed-off-by: kim <grufwub@gmail.com>
* remove last traces of media.Manager being an interface
Signed-off-by: kim <grufwub@gmail.com>
* update error to provide caller, allow tuneable via build tags
Signed-off-by: kim <grufwub@gmail.com>
* remove kim-specific build script changes
Signed-off-by: kim <grufwub@gmail.com>
* fix merge conflicts
Signed-off-by: kim <grufwub@gmail.com>
* update build-script to support externally setting build variables
Signed-off-by: kim <grufwub@gmail.com>
---------
Signed-off-by: kim <grufwub@gmail.com>
Diffstat (limited to 'internal/gtserror/new.go')
-rw-r--r-- | internal/gtserror/new.go | 58 |
1 files changed, 24 insertions, 34 deletions
diff --git a/internal/gtserror/new.go b/internal/gtserror/new.go index ad20e5cac..bb88d5f6a 100644 --- a/internal/gtserror/new.go +++ b/internal/gtserror/new.go @@ -18,48 +18,38 @@ package gtserror import ( - "errors" "net/http" - - "codeberg.org/gruf/go-byteutil" ) -// 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(). -func NewResponseError(rsp *http.Response) error { - var buf byteutil.Buffer - - // Get URL string ahead of time. - urlStr := rsp.Request.URL.String() +// New returns a new error, prepended with caller function name if gtserror.Caller is enabled. +func New(msg string) error { + return newAt(3, msg) +} - // Alloc guesstimate of required buf size. - buf.Guarantee(0 + - len(rsp.Request.Method) + - 12 + // request to - len(urlStr) + - 17 + // failed: status=" - len(rsp.Status) + - 8 + // " body=" - 256 + // max body size - 1, // " - ) +// 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...) +} - // Build error message string without +// 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 +// will include the caller function name as a prefix. +func NewFromResponse(rsp *http.Response) error { + // Build error with message without // using "fmt", as chances are this will // be used in a hot code path and we // know all the incoming types involved. - _, _ = buf.WriteString(rsp.Request.Method) - _, _ = buf.WriteString(" request to ") - _, _ = buf.WriteString(urlStr) - _, _ = buf.WriteString(" failed: status=\"") - _, _ = buf.WriteString(rsp.Status) - _, _ = buf.WriteString("\" body=\"") - _, _ = buf.WriteString(drainBody(rsp.Body, 256)) - _, _ = buf.WriteString("\"") - - // Create new error from msg. - err := errors.New(buf.String()) + err := newAt(3, ""+ + rsp.Request.Method+ + " request to "+ + rsp.Request.URL.String()+ + " failed: status=\""+ + rsp.Status+ + "\" body=\""+ + drainBody(rsp.Body, 256)+ + "\"", + ) // Wrap error to provide status code. return WithStatusCode(err, rsp.StatusCode) |