diff options
author | r <r@freesoftwareextremist.com> | 2022-01-27 12:05:15 +0000 |
---|---|---|
committer | r <r@freesoftwareextremist.com> | 2022-01-27 12:05:15 +0000 |
commit | b8c0133bcd5e7f1d4063ad992949cc19d18e7aad (patch) | |
tree | 5322b83d194c9ffcb498627bdd16175f9508d87d /mastodon/helper.go | |
parent | 54c42455f393c5ae8ebdb19884d40ebd9a18f755 (diff) | |
parent | 4ef5e0daf285f41850c9ac53b0322d85fbf5eaec (diff) | |
download | bloat-b8c0133bcd5e7f1d4063ad992949cc19d18e7aad.tar.gz bloat-b8c0133bcd5e7f1d4063ad992949cc19d18e7aad.zip |
Merge branch 'master' into absolute_fluoride
Diffstat (limited to 'mastodon/helper.go')
-rw-r--r-- | mastodon/helper.go | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/mastodon/helper.go b/mastodon/helper.go index 05af20f..cb0013d 100644 --- a/mastodon/helper.go +++ b/mastodon/helper.go @@ -3,12 +3,28 @@ package mastodon import ( "encoding/base64" "encoding/json" - "errors" "fmt" "net/http" "os" ) +type Error struct { + code int + err string +} + +func (e Error) Error() string { + return e.err +} + +func (e Error) IsAuthError() bool { + switch e.code { + case http.StatusForbidden, http.StatusUnauthorized: + return true + } + return false +} + // Base64EncodeFileName returns the base64 data URI format string of the file with the file name. func Base64EncodeFileName(filename string) (string, error) { file, err := os.Open(filename) @@ -51,5 +67,8 @@ func parseAPIError(prefix string, resp *http.Response) error { errMsg = fmt.Sprintf("%s: %s", errMsg, e.Error) } - return errors.New(errMsg) + return Error{ + code: resp.StatusCode, + err: errMsg, + } } |