ErrorController.coffee 821 B

12345678910111213141516171819202122232425
  1. Errors = require "./Errors"
  2. logger = require "logger-sharelatex"
  3. module.exports = ErrorController =
  4. notFound: (req, res)->
  5. res.status(404)
  6. res.render 'general/404',
  7. title: "page_not_found"
  8. serverError: (req, res)->
  9. res.status(500)
  10. res.render 'general/500',
  11. title: "Server Error"
  12. handleError: (error, req, res, next) ->
  13. if error?.code is 'EBADCSRFTOKEN'
  14. logger.warn err: error,url:req.url, method:req.method, user:req?.sesson?.user, "invalid csrf"
  15. res.sendStatus(403)
  16. return
  17. if error instanceof Errors.NotFoundError
  18. logger.warn {err: error, url: req.url}, "not found error"
  19. ErrorController.notFound req, res
  20. else
  21. logger.error err: error, url:req.url, method:req.method, user:req?.sesson?.user, "error passed to top level next middlewear"
  22. ErrorController.serverError req, res