summaryrefslogtreecommitdiff
path: root/internal/gtserror/error.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2023-06-27 11:37:42 +0200
committerLibravatar GitHub <noreply@github.com>2023-06-27 11:37:42 +0200
commitd98b6318ace5f8a00a6d1776be2e78782f7eb429 (patch)
treed10ce092258e0db0c57b063483fe4ca7e307ce46 /internal/gtserror/error.go
parent[chore]: Bump github.com/minio/minio-go/v7 from 7.0.56 to 7.0.58 (#1928) (diff)
downloadgotosocial-d98b6318ace5f8a00a6d1776be2e78782f7eb429.tar.xz
[bugfix] Use gtserror package for WrongType errs (#1930)
* [bugfix] Use gtserror package for WrongType errs * test
Diffstat (limited to 'internal/gtserror/error.go')
-rw-r--r--internal/gtserror/error.go19
1 files changed, 14 insertions, 5 deletions
diff --git a/internal/gtserror/error.go b/internal/gtserror/error.go
index 6eaa3db63..85dc0d54c 100644
--- a/internal/gtserror/error.go
+++ b/internal/gtserror/error.go
@@ -40,26 +40,35 @@ const (
TypeSMTP ErrorType = "smtp" // smtp (mail)
)
-// Unretrievable ...
+// Unretrievable checks error for a stored "unretrievable" flag.
+//
+// Unretrievable indicates that a call to retrieve a resource
+// (account, status, etc) could not be fulfilled, either because
+// it was not found locally, or because some prerequisite remote
+// resource call failed, making it impossible to return the item.
func Unretrievable(err error) bool {
_, ok := errors.Value(err, unrtrvableKey).(struct{})
return ok
}
-// SetUnretrievable ...
+// SetUnretrievable will wrap the given error to store an "unretrievable"
+// flag, returning wrapped error. See "Unretrievable" for example use-cases.
func SetUnretrievable(err error) error {
return errors.WithValue(err, unrtrvableKey, struct{}{})
}
-// WrongType ...
+// WrongType checks error for a stored "wrong type" flag. Wrong type
+// indicates that an ActivityPub URI returned a type we weren't expecting:
+// Statusable instead of Accountable, or vice versa, for example.
func WrongType(err error) bool {
_, ok := errors.Value(err, wrongTypeKey).(struct{})
return ok
}
-// SetWrongType ...
+// SetWrongType will wrap the given error to store a "wrong type" flag,
+// returning wrapped error. See "WrongType" for example use-cases.
func SetWrongType(err error) error {
- return errors.WithValue(err, unrtrvableKey, struct{}{})
+ return errors.WithValue(err, wrongTypeKey, struct{}{})
}
// StatusCode checks error for a stored status code value. For example