From c5ebd0352d79843bb8f447e5c02ccc49e5f3caaa Mon Sep 17 00:00:00 2001 From: "G.Ambatte" Date: Sun, 29 Oct 2023 11:04:07 +1300 Subject: [PATCH 1/5] Identify API errors and send error response --- server/app.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/server/app.js b/server/app.js index a19030b3a..03ffd081a 100644 --- a/server/app.js +++ b/server/app.js @@ -489,6 +489,12 @@ app.use(async (err, req, res, next)=>{ }; req.customUrl= '/error'; + if(req.originalUrl.startsWith('/api/')) { + console.log('api error'); + res.status(err?.status || err?.response?.status || 500).send(err.message || err); + return; + } + const page = await renderPage(req, res); if(!page) return; res.send(page); From e07d1d1ddb0776f160591bc3ce006b57e984aa74 Mon Sep 17 00:00:00 2001 From: "G.Ambatte" Date: Sun, 29 Oct 2023 11:27:03 +1300 Subject: [PATCH 2/5] Add originalUrl to error object --- server/app.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/app.js b/server/app.js index 03ffd081a..4d5f7d8a4 100644 --- a/server/app.js +++ b/server/app.js @@ -472,8 +472,9 @@ const getPureError = (error)=>{ }; app.use(async (err, req, res, next)=>{ - const status = err.status || err.code || 500; + err.originalUrl = req.originalUrl; console.error(err); + const status = err.status || err.code || 500; req.ogMeta = { ...defaultMetaTags, title : 'Error Page', From 70523376690b187e92597bd410f540fc2312b2ea Mon Sep 17 00:00:00 2001 From: "G.Ambatte" Date: Sun, 29 Oct 2023 11:43:24 +1300 Subject: [PATCH 3/5] Remove API error message from log --- server/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/app.js b/server/app.js index 4d5f7d8a4..762553337 100644 --- a/server/app.js +++ b/server/app.js @@ -491,7 +491,7 @@ app.use(async (err, req, res, next)=>{ req.customUrl= '/error'; if(req.originalUrl.startsWith('/api/')) { - console.log('api error'); + // console.log('api error'); res.status(err?.status || err?.response?.status || 500).send(err.message || err); return; } From 85b09760828c4e1f1a5ae7c30e3f72f46219321a Mon Sep 17 00:00:00 2001 From: "G.Ambatte" Date: Sun, 29 Oct 2023 11:52:02 +1300 Subject: [PATCH 4/5] Move API call error handling --- server/app.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/server/app.js b/server/app.js index 762553337..18c4764d6 100644 --- a/server/app.js +++ b/server/app.js @@ -474,6 +474,14 @@ const getPureError = (error)=>{ app.use(async (err, req, res, next)=>{ err.originalUrl = req.originalUrl; console.error(err); + + if(err.originalUrl?.startsWith('/api/')) { + // console.log('API error'); + res.status(err?.status || err?.response?.status || 500).send(err.message || err); + return; + } + + // console.log('non-API error'); const status = err.status || err.code || 500; req.ogMeta = { ...defaultMetaTags, @@ -490,12 +498,6 @@ app.use(async (err, req, res, next)=>{ }; req.customUrl= '/error'; - if(req.originalUrl.startsWith('/api/')) { - // console.log('api error'); - res.status(err?.status || err?.response?.status || 500).send(err.message || err); - return; - } - const page = await renderPage(req, res); if(!page) return; res.send(page); From 511c38dd1ec87a4391b5a883ca0ae690f7e3eaf9 Mon Sep 17 00:00:00 2001 From: "G.Ambatte" Date: Sun, 29 Oct 2023 14:16:41 +1300 Subject: [PATCH 5/5] Remove unnecessary nullish coalescing operators --- server/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/app.js b/server/app.js index 18c4764d6..5ae873a1c 100644 --- a/server/app.js +++ b/server/app.js @@ -477,7 +477,7 @@ app.use(async (err, req, res, next)=>{ if(err.originalUrl?.startsWith('/api/')) { // console.log('API error'); - res.status(err?.status || err?.response?.status || 500).send(err.message || err); + res.status(err.status || err.response?.status || 500).send(err.message || err); return; }