express-err

3.0.0 • Public • Published

express-err

Build Status Dependency Status devDependency Status

Basic error handler for express. This middleware shows errors according to the "Accept" header. It will shutdown app in case of uncaught error.

Install

yarn add express-err

Usage

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())

errorHandler(options)

The error handler middleware is used to display errors and shutdown app in case of uncaught error.

The avalaible options are:

exitOnUncaughtException

Tell to the process to exit on uncaught exceptions. Defaults to true.

app.use(errorHandler({ exitOnUncaughtException: false }))

exitCode

The code used to exit app in case of uncaught exception. Defaults to 1.

app.use(errorHandler({ exitCode: 2 }))

defaultStatusCode

The default HTTP error code. Defaults to 500.

app.use(errorHandler({ status: 503 }))

formatters

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,
    },
  }),
)

httpError(status, [message])

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))

new HttpError(status, [message])

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'))
})

License

MIT

/express-err/

    Package Sidebar

    Install

    npm i express-err

    Weekly Downloads

    36

    Version

    3.0.0

    License

    MIT

    Unpacked Size

    10.5 kB

    Total Files

    9

    Last publish

    Collaborators

    • neoziro