overleaf/services/spelling/app/js/HealthCheckController.js

38 lines
981 B
JavaScript
Raw Normal View History

import request from 'request'
import logger from '@overleaf/logger'
import settings from '@overleaf/settings'
import OError from '@overleaf/o-error'
2019-07-03 12:41:01 +00:00
export function 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)
2019-07-03 12:41:01 +00:00
}
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)
}
})
2019-07-03 12:41:01 +00:00
}