MCPcopy Create free account
hub / github.com/Preloading/TwitterAPIBridge / HandleBlueskyError

Function HandleBlueskyError

twitterv1/errorhandling.go:43–92  ·  view source on GitHub ↗
(c *fiber.Ctx, responseJson string, lexicon string, function func(c *fiber.Ctx) error)

Source from the content-addressed store, hash-verified

41}
42
43func HandleBlueskyError(c *fiber.Ctx, responseJson string, lexicon string, function func(c *fiber.Ctx) error) error {
44 // json decode responce
45 res := BlueskyError{}
46 if err := json.Unmarshal([]byte(responseJson), &res); err != nil {
47 return ReturnError(c, "An unknown error occured.", 0, fiber.StatusInternalServerError)
48 }
49
50 switch res.Error {
51 // Generic
52 case "InvalidRequest":
53 switch res.Message {
54 case "Profile not found":
55 return ReturnError(c, "User not found.", 50, fiber.StatusNotFound)
56 default:
57 return ReturnError(c, "Invalid request.", 0, fiber.StatusBadRequest) // unknown
58 }
59
60 case "InvalidSwap":
61 return ReturnError(c, "An error occured during record manipulation (InvalidSwap)", 131, fiber.StatusInternalServerError)
62
63 // Feed
64 case "InvalidFeed":
65 return ReturnError(c, "The feed specified was invalid", 0, fiber.StatusBadRequest) // unknown
66 case "NotFound": // could probably be
67 return ReturnError(c, "Post was not found. (or was deleted)", 144, fiber.StatusNotFound)
68
69 // Search
70 case "BadQueryString":
71 return ReturnError(c, "Invalid query.", 0, fiber.StatusBadRequest)
72
73 // Auth
74 case "ExpiredToken":
75 return ReturnError(c, "Expired token.", 89, 403) // TODO: If this occurs, refresh the token instead of failing.
76 case "InvalidToken":
77 return ReturnError(c, "Invalid token.", 89, 403)
78 case "AccountTakedown":
79 return ReturnError(c, "Your account has been suspended. Check your email for details.", 64, fiber.StatusForbidden)
80 case "AuthFactorTokenRequired":
81 return ReturnError(c, "Two-factor authentication is required, use an app password.", 32, fiber.StatusUnauthorized) // Unsure about this error code.
82 case "AuthMissing":
83 return ReturnError(c, "Incorrect username/password.", 32, fiber.StatusUnauthorized)
84 case "RateLimitExceeded":
85 return ReturnError(c, "Rate limit exceeded contacting Bluesky. Please try again later.", 88, fiber.StatusTooManyRequests)
86
87 default:
88 // Handle other errors
89 fmt.Println("An unknown error occured! Error: " + res.Error + ". Message: " + res.Message)
90 return ReturnError(c, "An unknown error occured: "+res.Message, 0, fiber.StatusInternalServerError)
91 }
92}
93
94func MissingAuth(c *fiber.Ctx, err error) error {
95 if err != nil {

Callers 15

UpdateProfileFunction · 0.85
UpdateProfilePictureFunction · 0.85
UserSearchFunction · 0.85
SearchAheadFunction · 0.85
GetMyActivityFunction · 0.85
access_tokenFunction · 0.85
GetUsersListsFunction · 0.85
GetListMembersFunction · 0.85
convert_timelineFunction · 0.85
RelatedResultsFunction · 0.85
GetStatusFromIdFunction · 0.85
TweetInfoFunction · 0.85

Calls 1

ReturnErrorFunction · 0.85

Tested by

no test coverage detected