From f1f396501420de0f18697811ea018517656019a0 Mon Sep 17 00:00:00 2001 From: 942004 Date: Sun, 24 May 2026 19:48:22 +0530 Subject: [PATCH] feat: improve centralized API error handling --- .../src/services/public/ApiService.js | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/RestroHub-FrontEnd/src/services/public/ApiService.js b/RestroHub-FrontEnd/src/services/public/ApiService.js index a09f061..9a8904c 100644 --- a/RestroHub-FrontEnd/src/services/public/ApiService.js +++ b/RestroHub-FrontEnd/src/services/public/ApiService.js @@ -18,12 +18,25 @@ const apiRequest = async (endpoint, options = {}) => { }; const response = await fetch(url, { ...defaultOptions, ...options }); - - if (!response.ok) { - throw new Error(`API Error: ${response.status} ${response.statusText}`); + if (!response.ok) { + let errorMessage = `API Error: ${response.status}`; + + try { + const errorData = await response.json(); + errorMessage = errorData.message || errorMessage; + } catch (err) { + console.error("Failed to parse error response:", err); } - - return response.json(); + + throw new Error(errorMessage); +} + +try { + return await response.json(); +} catch (err) { + console.error("Failed to parse response JSON:", err); + throw new Error("Invalid server response"); +} }; const ApiService = {