diff --git a/explore/server.ts b/explore/server.ts index 574d87f5..e031ceef 100644 --- a/explore/server.ts +++ b/explore/server.ts @@ -56,7 +56,30 @@ export function app() { res.set('Content-Type', register.contentType); res.end(register.metrics()); }); - + + server.get('/health-check', async (_req, res, _next) => { + var uptime = process.uptime(); + const date = new Date(uptime*1000); + const days = date.getUTCDate() - 1, + hours = date.getUTCHours(), + minutes = date.getUTCMinutes(), + seconds = date.getUTCSeconds(), + milliseconds = date.getUTCMilliseconds(); + + + const healthcheck = { + uptime: days + " days, " + hours + " hours, " + minutes + " minutes, " + seconds + " seconds, " + milliseconds + " milliseconds", + message: 'OK', + timestamp: new Date() + }; + try { + res.send(healthcheck); + } catch (error) { + healthcheck.message = error; + res.status(503).send(); + } + }); + // All regular routes use the Universal engine server.get('*', (req, res) => { if (routes.indexOf(req.path) !== -1) {