From ef4b11c72b39f6ffbf7f6327e1c440a9407ba88f Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Sun, 12 Jan 2025 09:51:25 -0800 Subject: [PATCH] fix error handler --- Client/src/Pages/Uptime/Home/index.jsx | 2 +- Client/src/Utils/NetworkService.js | 32 ++++++-------------------- 2 files changed, 8 insertions(+), 26 deletions(-) diff --git a/Client/src/Pages/Uptime/Home/index.jsx b/Client/src/Pages/Uptime/Home/index.jsx index e61adc397..097603bae 100644 --- a/Client/src/Pages/Uptime/Home/index.jsx +++ b/Client/src/Pages/Uptime/Home/index.jsx @@ -110,7 +110,7 @@ const UptimeMonitors = () => { setMonitorsSummary(summary); } catch (error) { createToast({ - body: "Error fetching monitors", + body: error.message, }); } finally { setIsLoading(false); diff --git a/Client/src/Utils/NetworkService.js b/Client/src/Utils/NetworkService.js index a47ed5221..c73890218 100644 --- a/Client/src/Utils/NetworkService.js +++ b/Client/src/Utils/NetworkService.js @@ -27,7 +27,13 @@ class NetworkService { this.axiosInstance.interceptors.response.use( (response) => response, (error) => { - this.handleError(error); + if (!error.request && error.response && error.response.status === 401) { + dispatch(clearAuthState()); + dispatch(clearUptimeMonitorState()); + navigate("/login"); + } else if (error.request && !error.response) { + return Promise.reject(error); + } return Promise.reject(error); } ); @@ -37,30 +43,6 @@ class NetworkService { this.axiosInstance.defaults.baseURL = url; }; - handleError(error) { - if (error.response) { - const status = error.response.status; - if (status === 401) { - this.dispatch(clearAuthState()); - this.dispatch(clearUptimeMonitorState()); - this.navigate("/login"); - } else if (status >= 500) { - // Display toast for server errors to all users - createToast({ - variant: "error", - body: "Checkmate server is not running or has issues. Please check.", - }); - } - } else if (error.request) { - // Show a toast informing the user the server didn't respond - createToast({ - variant: "error", - body: "The server did not respond. Please check your network or try again later.", - }); - } - } - - cleanup() { if (this.unsubscribe) { this.unsubscribe();