Skip to content
This repository was archived by the owner on Mar 13, 2025. It is now read-only.

Commit 1be375a

Browse files
committed
fix: improve server error handling
1 parent 14a9f0f commit 1be375a

File tree

3 files changed

+12
-14
lines changed

3 files changed

+12
-14
lines changed

src/components/ReportPopup/index.jsx

+1-7
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,7 @@ function ReportPopup() {
3333
.catch((err) => {
3434
setIsLoading(false);
3535

36-
// Response interceptor passes only error body
37-
// use this to identify server-side errors
38-
if (err instanceof Error) {
39-
toastr.error("Report failed");
40-
} else {
41-
toastr.error("Report failed", err.message);
42-
}
36+
toastr.error("Report failed", err.message);
4337
});
4438
};
4539

src/routes/JobForm/utils.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -106,4 +106,4 @@ export const getEditJobConfig = (skillOptions, onSubmit) => {
106106
onSubmit: onSubmit,
107107
rows: EDIT_JOB_ROWS,
108108
};
109-
};
109+
};

src/services/requestInterceptor.js

+10-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import axios from "axios";
2-
import store from "../store";
2+
import _ from "lodash";
33
import { getAuthUserTokens } from "@topcoder/micro-frontends-navbar-app";
44

55
export const axiosInstance = axios.create({
@@ -15,9 +15,7 @@ axiosInstance.interceptors.request.use((config) => {
1515
config.headers["Authorization"] = `Bearer ${token}`;
1616
return config;
1717
})
18-
.catch((err) => {
19-
return config;
20-
});
18+
.catch(() => config);
2119
});
2220

2321
// response interceptor to handle error
@@ -27,7 +25,13 @@ axiosInstance.interceptors.response.use(
2725
return config;
2826
},
2927
(error) => {
30-
// return the response body
31-
return Promise.reject(error.response.data);
28+
const serverErrorMessage = _.get(error, "response.data.message");
29+
30+
// if there is server error message, then return it inside `message` property of error
31+
if (serverErrorMessage) {
32+
error.message = serverErrorMessage;
33+
}
34+
35+
return Promise.reject(error);
3236
}
3337
);

0 commit comments

Comments
 (0)