的http错误
轻松地为Express, Koa, Connect等创建HTTP错误。
安装
这是一个 node . js 模块可通过
npm注册表. 安装是使用
npm install 命令:
$ 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()
})
API
这是当前的API,当前从Koa中提取,可能会发生更改。
错误的属性
expose-可以用来表示如果message应该发给客户, 违约,false当status> = 500headers-可以是头名称到要发送到的值的对象 客户端,默认为undefined。定义时,键名应该全部 是小写message-传统的错误信息,应该保持简短 一行status-错误的状态码,镜像statusCode对于一般 兼容性statusCode-错误状态码,默认为500
createError([status], [message], [properties])
用给定的消息创建一个新的错误对象 msg。
错误对象继承自 createError.HttpError。
var err = createError(404, 'This video does not exist!')
status: 500-状态码的数字形式message-错误消息,默认为该状态码的节点文本。properties-附加到对象的自定义属性
createError([status], [error], [properties])
扩展给定的 error 对象与 createError.HttpError
属性。这不会改变给定对象的继承
error 对象,以及修改后的 error 对象是
返回值。
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-状态码的数字形式error-要扩展的错误对象properties-附加到对象的自定义属性
createError.isHttpError (val)
确定所提供的 val 是一个 HttpError。这将返回 true
如果错误继承自 HttpError 此模块的构造函数或
匹配此模块创建的错误的“duck类型”。的所有输出
这个 createError 工厂将返回 true 对于这个函数,包括
如果不是——HttpError 被送进了工厂。
new createError[code || name]([msg]))
用给定的消息创建一个新的错误对象 msg。
错误对象继承自 createError.HttpError。
var err = new createError.NotFound()
code-状态码的数字形式name-错误的名称为“颠簸情况”,即NotFound或InternalServerError。
所有构造函数的列表
| 状态码 | 构造函数的名字 |
|---|---|
| 400 | BadRequest |
| 401 | 未经授权的 |
| 402 | PaymentRequired |
| 403 | 禁止 |
| 404 | NotFound |
| 405 | MethodNotAllowed |
| 406 | NotAcceptable |
| 407 | ProxyAuthenticationRequired |
| 408 | RequestTimeout |
| 409 | 冲突 |
| 410 | 走了 |
| 411 | LengthRequired |
| 412 | PreconditionFailed |
| 413 | PayloadTooLarge |
| 414 | URITooLong |
| 415 | UnsupportedMediaType |
| 416 | RangeNotSatisfiable |
| 417 | ExpectationFailed |
| 418 | ImATeapot |
| 421 | MisdirectedRequest |
| 422 | UnprocessableEntity |
| 423 | 锁 |
| 424 | FailedDependency |
| 425 | 做 |
| 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 |