From 2e2e4e8314c102b3ebc38aa2f71a6e886b0be86d Mon Sep 17 00:00:00 2001 From: davidemarcoli Date: Fri, 29 Nov 2024 15:24:15 +0100 Subject: [PATCH] fix: add health check for backend connection in middleware --- src/hooks.server.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/hooks.server.ts b/src/hooks.server.ts index 6dd0aaf..ca6e7a5 100644 --- a/src/hooks.server.ts +++ b/src/hooks.server.ts @@ -26,6 +26,24 @@ const configureClientMiddleware: Handle = async ({ event, resolve }) => { if (!event.locals.backendUrl || !event.locals.apiKey) { throw redirect(307, '/connect'); } + + let hasConnection; + + try { + await fetch(event.locals.backendUrl + '/api/v1/health') + .then(() => { + hasConnection = true; + }) + .catch(() => { + hasConnection = false; + }); + } catch { + hasConnection = false; + } + + if (!hasConnection) { + throw redirect(307, '/connect'); + } } return resolve(event);