2019-07-03 08:41:01 -04:00
|
|
|
const request = require('request')
|
2021-12-14 08:00:35 -05:00
|
|
|
const logger = require('@overleaf/logger')
|
2021-07-12 12:47:20 -04:00
|
|
|
const settings = require('@overleaf/settings')
|
2020-06-03 05:14:44 -04:00
|
|
|
const OError = require('@overleaf/o-error')
|
2019-07-03 08:41:01 -04:00
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
healthCheck(req, res) {
|
|
|
|
const opts = {
|
|
|
|
url: `http://localhost:3005/user/${settings.healthCheckUserId}/check`,
|
|
|
|
json: {
|
|
|
|
words: ['helllo'],
|
2021-07-13 07:04:47 -04:00
|
|
|
language: 'en',
|
2019-07-03 08:41:01 -04:00
|
|
|
},
|
2021-07-13 07:04:47 -04:00
|
|
|
timeout: 1000 * 20,
|
2019-07-03 08:41:01 -04:00
|
|
|
}
|
2020-08-10 12:23:15 -04:00
|
|
|
return request.post(opts, function (err, response, body) {
|
2019-07-03 08:41:01 -04:00
|
|
|
if (err != null) {
|
|
|
|
return res.sendStatus(500)
|
|
|
|
}
|
2019-07-11 06:29:00 -04:00
|
|
|
|
|
|
|
const misspellings =
|
|
|
|
body && body.misspellings ? body.misspellings[0] : undefined
|
|
|
|
const numberOfSuggestions =
|
|
|
|
misspellings && misspellings.suggestions
|
|
|
|
? misspellings.suggestions.length
|
|
|
|
: 0
|
|
|
|
|
2019-07-03 08:41:01 -04:00
|
|
|
if (numberOfSuggestions > 10) {
|
2022-05-16 08:38:18 -04:00
|
|
|
logger.debug('health check passed')
|
2019-07-11 06:29:00 -04:00
|
|
|
res.sendStatus(200)
|
2019-07-03 08:41:01 -04:00
|
|
|
} else {
|
2020-06-03 05:14:44 -04:00
|
|
|
logger.err(
|
|
|
|
new OError('health check failed', { body, numberOfSuggestions })
|
|
|
|
)
|
2019-07-11 06:29:00 -04:00
|
|
|
res.sendStatus(500)
|
2019-07-03 08:41:01 -04:00
|
|
|
}
|
|
|
|
})
|
2021-07-13 07:04:47 -04:00
|
|
|
},
|
2019-07-03 08:41:01 -04:00
|
|
|
}
|