UNPKG

express-api-cli

Version:

Cli tool for generating an express project. Instead of wasting extra time creating your project structure, start building right away

69 lines (63 loc) 1.59 kB
import HttpStatus from 'http-status-codes'; import logger from '../config/logger'; /** * Error response middleware for 404 not found. * * @param {Object} req * @param {Object} res */ export function notFound(req, res) { res.status(HttpStatus.NOT_FOUND).json({ code: HttpStatus.NOT_FOUND, message: 'Ooops, route not found' }); } /** * Error response middleware for handling all app errors except generic errors. * * @param {Object} err * @param {Object} req * @param {Object} res * @param {Function} next */ // eslint-disable-next-line no-unused-vars export function appErrorHandler(err, req, res, next) { if (err.code && typeof err.code === 'number') { logger.error(` status - ${err.code} message - ${err.message} url - ${req.originalUrl} method - ${req.method} IP - ${req.ip} `); res.status(err.code).json({ code: err.code, message: err.message }); } else { next(err); } } /** * Generic error response middleware for internal server errors. * * @param {Object} err * @param {Object} req * @param {Object} res * @param {Function} next */ // eslint-disable-next-line no-unused-vars export function genericErrorHandler(err, req, res, next) { logger.error(` status - ${HttpStatus.INTERNAL_SERVER_ERROR} message - ${err.stack} url - ${req.originalUrl} method - ${req.method} IP - ${req.ip} `); res.status(HttpStatus.INTERNAL_SERVER_ERROR).json({ code: HttpStatus.INTERNAL_SERVER_ERROR, data: '', message: err.message }); }