SpellingAPIController.js 956 B

12345678910111213141516171819202122232425262728293031
  1. const SpellingAPIManager = require('./SpellingAPIManager')
  2. const logger = require('@overleaf/logger')
  3. const metrics = require('@overleaf/metrics')
  4. const OError = require('@overleaf/o-error')
  5. function extractCheckRequestData(req) {
  6. const token = req.params ? req.params.user_id : undefined
  7. const wordCount =
  8. req.body && req.body.words ? req.body.words.length : undefined
  9. return { token, wordCount }
  10. }
  11. module.exports = {
  12. check(req, res) {
  13. metrics.inc('spelling-check', 0.1)
  14. const { token, wordCount } = extractCheckRequestData(req)
  15. logger.debug({ token, wordCount }, 'running check')
  16. SpellingAPIManager.runRequest(token, req.body, function (error, result) {
  17. if (error != null) {
  18. logger.error(
  19. OError.tag(error, 'error processing spelling request', {
  20. user_id: token,
  21. wordCount,
  22. })
  23. )
  24. return res.sendStatus(500)
  25. }
  26. res.send(result)
  27. })
  28. },
  29. }