|  | ||||
|---|---|---|---|---|
| .. | ||||
| HISTORY.md | 11e3a9652a | 7 年之前 | ||
| LICENSE | 11e3a9652a | 7 年之前 | ||
| README.md | 11e3a9652a | 7 年之前 | ||
| index.js | 11e3a9652a | 7 年之前 | ||
| package.json | 11e3a9652a | 7 年之前 | ||
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.
All errors inherit from JavaScript Error and the exported createError.HttpError.
expose - can be used to signal if message should be sent to the client,
defaulting to false when status >= 500headers - can be an object of header names to values to be sent to the
client, defaulting to undefined. When defined, the key names should all
be lower-casedmessage - the traditional error message, which should be kept short and all
single linestatus - the status code of the error, mirroring statusCode for general
compatibilitystatusCode - the status code of the error, defaulting to 500var err = createError(404, 'This video does not exist!')
status: 500 - the status code as a numbermessage - the message of the error, defaulting to node's text for that status code.properties - custom properties to attach to the objectvar err = new createError.NotFound()
code - the status code as a numbername - the name of the error as a "bumpy case", i.e. NotFound or InternalServerError.| Status Code | Constructor Name | 
|---|---|
| 400 | BadRequest | 
| 401 | Unauthorized | 
| 402 | PaymentRequired | 
| 403 | Forbidden | 
| 404 | NotFound | 
| 405 | MethodNotAllowed | 
| 406 | NotAcceptable | 
| 407 | ProxyAuthenticationRequired | 
| 408 | RequestTimeout | 
| 409 | Conflict | 
| 410 | Gone | 
| 411 | LengthRequired | 
| 412 | PreconditionFailed | 
| 413 | PayloadTooLarge | 
| 414 | URITooLong | 
| 415 | UnsupportedMediaType | 
| 416 | RangeNotSatisfiable | 
| 417 | ExpectationFailed | 
| 418 | ImATeapot | 
| 421 | MisdirectedRequest | 
| 422 | UnprocessableEntity | 
| 423 | Locked | 
| 424 | FailedDependency | 
| 425 | UnorderedCollection | 
| 426 | UpgradeRequired | 
| 428 | PreconditionRequired | 
| 429 | TooManyRequests | 
| 431 | RequestHeaderFieldsTooLarge | 
| 451 | UnavailableForLegalReasons | 
| 500 | InternalServerError | 
| 501 | NotImplemented | 
| 502 | BadGateway | 
| 503 | ServiceUnavailable | 
| 504 | GatewayTimeout | 
| 505 | HTTPVersionNotSupported | 
| 506 | VariantAlsoNegotiates | 
| 507 | InsufficientStorage | 
| 508 | LoopDetected | 
| 509 | BandwidthLimitExceeded | 
| 510 | NotExtended | 
| 511 | NetworkAuthenticationRequired |