HttpError.js 672 B

1234567891011121314151617181920212223242526272829303132
  1. class HttpError extends Error {
  2. constructor(code, message){
  3. super(message);
  4. this.name = this.constructor.name;
  5. this.code = code;
  6. Error.captureStackTrace(this, this.constructor);
  7. }
  8. }
  9. const catchError = (err, req, res, next)=>{
  10. if(err instanceof HttpError){
  11. return res.status(err.code).json({
  12. error: {
  13. code: err.code,
  14. message: err.message
  15. }
  16. });
  17. }
  18. console.error(err);
  19. return res.status(500).json({
  20. error: {
  21. code: 500,
  22. message: "Internal server error"
  23. }
  24. });
  25. }
  26. export {
  27. HttpError,
  28. catchError
  29. }