[![NPM Version][npm-version-image]][npm-url] [![NPM Downloads][npm-downloads-image]][node-url] [![Node.js Version][node-image]][node-url] [![Build Status][ci-image]][ci-url] [![Test Coverage][coveralls-image]][coveralls-url]
Create HTTP errors for Express, Koa, Connect, etc. with ease.
This is a Node.js module available through the
npm registry. Installation is done using the
npm install command:
$ npm install http-errors
var createError = require('http-errors')
var express = require('express')
var app = express()app.use(function (req, res, next) {
if (!req.user) return next(createError(401, 'Please login to view this page.'))
next()
})
This is the current API, currently extracted from Koa and subject to change.
- expose - can be used to signal if message should be sent to the client,
defaulting to false when status >= 500
headers - can be an object of header names to values to be sent to theundefined. When defined, the key names should all
be lower-cased
message - the traditional error message, which should be kept short and allstatus - the status code of the error, mirroring statusCode for generalstatusCode - the status code of the error, defaulting to 500Create a new error object with the given message msg.
createError.HttpError.var err = createError(404, 'This video does not exist!')
- status: 500 - the status code as a number
message - the message of the error, defaulting to node's text for that status code.properties - custom properties to attach to the objectExtend the given error object with createError.HttpError
error object, and the modified error object is the
return value.fs.readFile('foo.txt', function (err, buf) {
if (err) {
if (err.code === 'ENOENT') {
var httpError = createError(404, err, { expose: false })
} else {
var httpError = createError(500, err)
}
}
})
- status - the status code as a number
error - the error object to extendproperties - custom properties to attach to the objectDetermine if the provided val is an HttpError. This will return true
HttpError constructor of this module or
matches the "duck type" for an error this module creates. All outputs from
the createError factory will return true for this function, including
if an non-HttpError was passed into the factory.Create a new error object with the given message msg.
The error object inherits from createError.HttpError.
var err = new createError.NotFound()
- code - the status code as a number
name - the name of the error as a "bumpy case", i.e. NotFound or InternalServerError.#### List of all constructors
|Status Code|Constructor Name |
[ci-image]: https://badgen.net/github/checks/jshttp/http-errors/master?label=ci [ci-url]: https://github.com/jshttp/http-errors/actions?query=workflow%3Aci [coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/http-errors/master [coveralls-url]: https://coveralls.io/r/jshttp/http-errors?branch=master [node-image]: https://badgen.net/npm/node/http-errors [node-url]: https://nodejs.org/en/download [npm-downloads-image]: https://badgen.net/npm/dm/http-errors [npm-url]: https://npmjs.org/package/http-errors [npm-version-image]: https://badgen.net/npm/v/http-errors [travis-image]: https://badgen.net/travis/jshttp/http-errors/master [travis-url]: https://travis-ci.org/jshttp/http-errors