UNPKG

prismic-website

Version:

A ready to use webserver (Express base) with utility methods for working with Prismic.io.

51 lines (42 loc) 1.24 kB
var express = require('express'); var logger = require('logfmt'); module.exports = function Errors(verbose) { return { notFound: notFound, log: logError, json: jsonError, html: htmlError }; function notFound(req, res, next) { var err = new Error('Not Found'); err.status = 404; next(err); } function logError(err, req, res, next) { if (err.status === 404 && !verbose) { return next(err); } logger.log({ type: 'error', msg: err.message || 'middleware error', err: err.stack || 'no stack trace available' }); next(err); } function jsonError(err, req, res, next) { if (req.path.slice(-5) !== '.json') { return next(err); } if (!req.accepts('application/json')) { return next(err); } res .status(err.status || 500) .json({ message: err.message || 'Something went wrong!' }); } function htmlError(err, req, res, next) { res .status(err.status || 500) .send(err.message || 'Something went wrong!'); } };