http-errors
Last updated
Last updated
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:
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 the client, defaulting to undefined
. When defined, the key names should all be lower-cased
message
- the traditional error message, which should be kept short and all single line
status
- the status code of the error, mirroring statusCode
for general compatibility
statusCode
- the status code of the error, defaulting to 500
Create a new error object with the given message msg
. The error object inherits from createError.HttpError
.
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 object
Extend the given error
object with createError.HttpError
properties. This will not alter the inheritance of the given error
object, and the modified error
object is the return value.
status
- the status code as a number
error
- the error object to extend
properties
- custom properties to attach to the object
Create a new error object with the given message msg
. The error object inherits from createError.HttpError
.
code
- the status code as a number
name
- 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 |