From f1a33f10edaa199c37a0bfce65562d84c838c9a6 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 20 May 2023 09:48:18 -0700 Subject: [PATCH] Add try catch for ping --- src/pages/api/ping.js | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/src/pages/api/ping.js b/src/pages/api/ping.js index 1fdb1f804..96c1b12cc 100644 --- a/src/pages/api/ping.js +++ b/src/pages/api/ping.js @@ -14,22 +14,29 @@ export default async function handler(req, res) { error: "No ping URL given", }); } - - let startTime = performance.now(); - let [status] = await httpProxy(pingURL, { - method: "HEAD" - }); - let endTime = performance.now(); - - if (status > 403) { - // try one more time as a GET in case HEAD is rejected for whatever reason - startTime = performance.now(); - [status] = await httpProxy(pingURL); - endTime = performance.now(); - } - return res.status(200).json({ - status, - latency: endTime - startTime - }); + try { + let startTime = performance.now(); + let [status] = await httpProxy(pingURL, { + method: "HEAD" + }); + let endTime = performance.now(); + + if (status > 403) { + // try one more time as a GET in case HEAD is rejected for whatever reason + startTime = performance.now(); + [status] = await httpProxy(pingURL); + endTime = performance.now(); + } + + return res.status(200).json({ + status, + latency: endTime - startTime + }); + } catch (e) { + logger.debug("Error attempting ping: %s", JSON.stringify(e)); + return res.status(400).send({ + error: 'Error attempting ping, see logs.', + }); + } }