express-err
Advanced tools
Basic error handler for express.
Weekly downloads
Changelog
Readme
Basic error handler for express. This middleware shows errors according to the "Accept" header. It will shutdown app in case of uncaught error.
yarn add express-err
import express from 'express'
import errorHandler, { httpError } from 'express-err'
const app = express()
// Basic route.
app.get('/', (req, res) => {
res.send('Hello world!')
})
// Redirect other routes to 404.
app.use(httpError(404))
// Handle errors.
app.use(errorHandler())
The error handler middleware is used to display errors and shutdown app in case of uncaught error.
The avalaible options are:
Tell to the process to exit on uncaught exceptions. Defaults to true
.
app.use(errorHandler({ exitOnUncaughtException: false }))
The code used to exit app in case of uncaught exception. Defaults to 1
.
app.use(errorHandler({ exitCode: 2 }))
The default HTTP error code. Defaults to 500
.
app.use(errorHandler({ status: 503 }))
The error handler come with some preconfigured formatters, one for "json", "text" and "html". It's possible to provide your own formatters:
import { text } from 'express-err/lib/formatters'
app.use(
errorHandler({
formatters: {
json(err, req, res, next) {
res.send({ error: true })
},
default: text,
},
}),
)
You can use httpError to return a custom error with a status and a message, if you don't provide a message, it will automatically use the HTTP status.
import { httpError } from 'express-err'
app.use(httpError(404))
You can create a custom HttpError with a status and a message, if you don't provide a message, it will automatically use the HTTP status.
import { HttpError } from 'express-err'
app.use((req, res, next) => {
next(new HttpError(404, 'Bad way'))
})
MIT