| 123456789101112131415161718192021222324252627282930313233343536373839 |
- 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)
- }
- })
- },
- }
|