throw-http-errors
v4.0.1
Published
Custom errors for HTTP status codes.
Downloads
75
Maintainers
Readme
throw-http-errors
Custom errors for HTTP status codes. For the old js version look at the branch javascript
Usage
First, install throw-http-errors
as a dependency:
npm install --save throw-http-errors
HTTP Errors
const errors = require('throw-http-errors');
Parameters:
message[optional]: A detailed message for this error.
code[optional]: Code for this error, like FB API's error codes: https://developers.facebook.com/docs/marketing-api/error-reference/
400 BadRequest
new errors.BadRequest('Name required in body', 190);
OR
new errors[400](msg, code);
401 Unauthorized
new errors.Unauthorized(msg, code);
OR
new errors[401](msg, code);
402 PaymentRequired
new errors.PaymentRequired(msg, code);
OR
new errors[402](msg, code);
403 Forbidden
new errors.Forbidden(msg, code);
OR
new errors[403](msg, code);
404 NotFound
new errors.NotFound(msg, code);
OR
new errors[404](msg, code);
405 MethodNotAllowed
new errors.MethodNotAllowed(msg, code);
OR
new errors[405](msg, code);
500 InternalServerError
new errors.InternalServerError(msg, code);
OR
new errors[500](msg, code);
Supported HTTP ERRORS
| HTTPError Name | HTTP Status | |---------------------------------|-------------| | BadRequest | 400 | | Unauthorized | 401 | | PaymentRequired | 402 | | Forbidden | 403 | | NotFound | 404 | | MethodNotAllowed | 405 | | NotAcceptable | 406 | | ProxyAuthenticationRequired | 407 | | RequestTimeout | 408 | | Conflict | 409 | | Gone | 410 | | LengthRequired | 411 | | PreconditionFailed | 412 | | PayloadTooLarge | 413 | | URITooLong | 414 | | UnsupportedMediaType | 415 | | RangeNotSatisfiable | 416 | | ExpectationFailed | 417 | | MisdirectedRequest | 421 | | UnprocessableEntity | 422 | | Locked | 423 | | FailedDependency | 424 | | UnorderedCollection | 425 | | UpgradeRequired | 426 | | PreconditionRequired | 428 | | TooManyRequests | 429 | | UnavailableForLegalReasons | 431 | | RequestHeaderFieldsTooLarge | 451 | | InternalServerError | 500 | | NotImplemented | 501 | | BadGateway | 502 | | ServiceUnavailable | 503 | | GatewayTimeout | 504 | | HTTPVersionNotSupported | 505 | | VariantAlsoNegotiates | 506 | | InsufficientStorage | 507 | | LoopDetected | 508 | | NotExtended | 510 | | NetworkAuthenticationRequired | 511 |
Custom Errors
new errors.CreateCustomError(status, name, message, code);
Parameters:
status[required]: The HTTP Status number of this error.
name[optional]: A unique identifier of this error.
message[optional]: Message of this error.
code[optional]: A unique code of this error.
Example
In order to use it you need to require the module and then just throw a custom error:
const express = require('express');
const app = express();
const errors = require('throw-http-errors');
app.get('/user/:id', (req, res, next) => {
next(new errors.NotFound('User not found', 'USER_NOT_FOUND'));
});