const request = require('request') const logger = require('@overleaf/logger') const settings = require('@overleaf/settings') const OError = require('@overleaf/o-error') module.exports = { healthCheck(req, res) { const opts = { url: `http://localhost:3005/user/${settings.healthCheckUserId}/check`, json: { words: ['helllo'], language: 'en', }, timeout: 1000 * 20, } return request.post(opts, function (err, response, body) { if (err != null) { return res.sendStatus(500) } const misspellings = body && body.misspellings ? body.misspellings[0] : undefined const numberOfSuggestions = misspellings && misspellings.suggestions ? misspellings.suggestions.length : 0 if (numberOfSuggestions > 10) { logger.debug('health check passed') res.sendStatus(200) } else { logger.err( new OError('health check failed', { body, numberOfSuggestions }) ) res.sendStatus(500) } }) }, }