HealthCheckController.js 987 B

123456789101112131415161718192021222324252627282930313233343536
  1. const request = require('request')
  2. const logger = require('logger-sharelatex')
  3. const settings = require('settings-sharelatex')
  4. module.exports = {
  5. healthCheck(req, res) {
  6. const opts = {
  7. url: `http://localhost:3005/user/${settings.healthCheckUserId}/check`,
  8. json: {
  9. words: ['helllo'],
  10. language: 'en'
  11. },
  12. timeout: 1000 * 20
  13. }
  14. return request.post(opts, function(err, response, body) {
  15. if (err != null) {
  16. return res.sendStatus(500)
  17. }
  18. const misspellings =
  19. body && body.misspellings ? body.misspellings[0] : undefined
  20. const numberOfSuggestions =
  21. misspellings && misspellings.suggestions
  22. ? misspellings.suggestions.length
  23. : 0
  24. if (numberOfSuggestions > 10) {
  25. logger.log('health check passed')
  26. res.sendStatus(200)
  27. } else {
  28. logger.err({ body, numberOfSuggestions }, 'health check failed')
  29. res.sendStatus(500)
  30. }
  31. })
  32. }
  33. }