Skip to content

Commit e19a18c

Browse files
fix: catch axios exceptions more gracefully
1 parent 8939e53 commit e19a18c

File tree

1 file changed

+39
-18
lines changed

1 file changed

+39
-18
lines changed

src/index.ts

Lines changed: 39 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,11 @@ export default class Phase {
9898
const apps: App[] = await Promise.all(appPromises);
9999
this.apps = apps;
100100
} catch (error) {
101-
console.error("Error initializing session:", error);
101+
if (axios.isAxiosError(error) && error.response) {
102+
throw `Error: ${error.response.status}: ${
103+
error.response.data?.error || ""
104+
}`;
105+
}
102106
throw new Error(
103107
"Failed to initialize session. Please check your token and network connection."
104108
);
@@ -251,9 +255,13 @@ export default class Phase {
251255
);
252256

253257
resolve(resolvedSecrets);
254-
} catch (err) {
255-
console.error(`Error fetching secrets: ${err}`);
256-
reject(err);
258+
} catch (error) {
259+
if (axios.isAxiosError(error) && error.response) {
260+
throw `Error: ${error.response.status}: ${
261+
error.response.data?.error || ""
262+
}`;
263+
}
264+
throw `Error fetching secrets: ${error}`;
257265
}
258266
});
259267
}
@@ -293,17 +301,27 @@ export default class Phase {
293301

294302
const requestBody = JSON.stringify({ secrets: encryptedSecrets });
295303

296-
const res = await axios({
297-
url: `${this.host}/service/secrets/`,
298-
method: "post",
299-
headers: {
300-
...requestHeaders,
301-
...this.getAuthHeaders(),
302-
},
303-
data: requestBody,
304-
});
304+
try {
305+
const res = await axios({
306+
url: `${this.host}/service/secrets/`,
307+
method: "post",
308+
headers: {
309+
...requestHeaders,
310+
...this.getAuthHeaders(),
311+
},
312+
data: requestBody,
313+
});
305314

306-
if (res.status === 200) resolve();
315+
if (res.status === 200) resolve();
316+
} catch (error) {
317+
if (axios.isAxiosError(error) && error.response) {
318+
throw `Error: ${error.response.status}: ${
319+
error.response.data?.error || ""
320+
}`;
321+
} else {
322+
throw `Unexpected error: ${error}`;
323+
}
324+
}
307325
} catch (err) {
308326
console.log(`Error creating secrets: ${err}`);
309327
}
@@ -364,10 +382,13 @@ export default class Phase {
364382
} catch (err) {
365383
console.log(`Error creating secrets: ${err}`);
366384
}
367-
} catch (err) {
368-
console.log(`Something went wrong: ${err}`);
369-
reject;
370-
return;
385+
} catch (error) {
386+
if (axios.isAxiosError(error) && error.response) {
387+
throw `Error: ${error.response.status}: ${
388+
error.response.data?.error || ""
389+
}`;
390+
}
391+
throw `Something went wrong: ${error}`;
371392
}
372393
});
373394
};

0 commit comments

Comments
 (0)