From fc028c7544bf20c460f8855969f96f8ee424dfc7 Mon Sep 17 00:00:00 2001 From: Brian Gough Date: Tue, 10 Mar 2020 14:24:12 +0000 Subject: [PATCH] Merge pull request #2633 from overleaf/bg-fix-health-check-for-web-api fix the health check on the api router GitOrigin-RevId: 985322f8e4ff0b5dddbe7cf68c41414af6fd502d --- .../HealthCheck/HealthCheckController.js | 20 +++++++++++++++++++ services/web/app/src/router.js | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/services/web/app/src/Features/HealthCheck/HealthCheckController.js b/services/web/app/src/Features/HealthCheck/HealthCheckController.js index d26d587a02..f4ace088a7 100644 --- a/services/web/app/src/Features/HealthCheck/HealthCheckController.js +++ b/services/web/app/src/Features/HealthCheck/HealthCheckController.js @@ -57,6 +57,26 @@ module.exports = HealthCheckController = { }) }, + checkApi(req, res, next) { + rclient.healthCheck(err => { + if (err) { + logger.err({ err }, 'failed api redis health check') + return res.sendStatus(500) + } + UserGetter.getUserEmail(settings.smokeTest.userId, (err, email) => { + if (err) { + logger.err({ err }, 'failed api mongo health check') + return res.sendStatus(500) + } + if (email == null) { + logger.err({ err }, 'failed api mongo health check (no email)') + return res.sendStatus(500) + } + res.sendStatus(200) + }) + }) + }, + checkRedis(req, res, next) { return rclient.healthCheck(function(error) { if (error != null) { diff --git a/services/web/app/src/router.js b/services/web/app/src/router.js index 644e53545a..6bdd169529 100644 --- a/services/web/app/src/router.js +++ b/services/web/app/src/router.js @@ -969,7 +969,7 @@ function initialize(webRouter, privateApiRouter, publicApiRouter) { webRouter.get('/dev/csrf', (req, res) => res.send(res.locals.csrfToken)) publicApiRouter.get('/health_check', HealthCheckController.check) - privateApiRouter.get('/health_check', HealthCheckController.check) + privateApiRouter.get('/health_check', HealthCheckController.checkApi) publicApiRouter.get('/health_check/redis', HealthCheckController.checkRedis) privateApiRouter.get('/health_check/redis', HealthCheckController.checkRedis)