diff --git a/src/connections/EpicGames/index.ts b/src/connections/EpicGames/index.ts
index f1f3f24c..c720dc5d 100644
--- a/src/connections/EpicGames/index.ts
+++ b/src/connections/EpicGames/index.ts
@@ -1,4 +1,5 @@
import {
+ ApiError,
Config,
ConnectedAccount,
ConnectedAccountCommonOAuthTokenResponse,
@@ -86,12 +87,18 @@ export default class EpicGamesConnection extends Connection {
code,
}),
})
- .then((res) => res.json())
+ .then((res) => {
+ if (!res.ok) {
+ throw new ApiError("Failed to exchange code", 0, 400);
+ }
+
+ return res.json();
+ })
.catch((e) => {
console.error(
`Error exchanging token for ${this.id} connection: ${e}`,
);
- throw DiscordApiErrors.INVALID_OAUTH_TOKEN;
+ throw DiscordApiErrors.GENERAL_ERROR;
});
}
@@ -106,7 +113,20 @@ export default class EpicGamesConnection extends Connection {
headers: {
Authorization: `Bearer ${token}`,
},
- }).then((res) => res.json());
+ })
+ .then((res) => {
+ if (!res.ok) {
+ throw new ApiError("Failed to fetch user", 0, 400);
+ }
+
+ return res.json();
+ })
+ .catch((e) => {
+ console.error(
+ `Error fetching user for ${this.id} connection: ${e}`,
+ );
+ throw DiscordApiErrors.GENERAL_ERROR;
+ });
}
async handleCallback(
|