node package manager

http-errors

Create HTTP error objects

http-errors

Create HTTP errors for Express, Koa, Connect, etc. with ease.

var createError = require('http-errors');
 
app.use(function (reqresnext) {
  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 >= 500
  • message
  • status and statusCode - the status code of the error, defaulting to 500
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 object
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.
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

MIT