https://github.com/eldimious/throw-http-errors
Custom errors for HTTP status codes.
https://github.com/eldimious/throw-http-errors
error-handler error-handling errors http-code http-errors javascript-errors throw-errors
Last synced: 3 months ago
JSON representation
Custom errors for HTTP status codes.
- Host: GitHub
- URL: https://github.com/eldimious/throw-http-errors
- Owner: eldimious
- License: apache-2.0
- Created: 2018-05-07T17:11:38.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-08T18:09:31.000Z (over 2 years ago)
- Last Synced: 2025-03-28T14:22:05.569Z (3 months ago)
- Topics: error-handler, error-handling, errors, http-code, http-errors, javascript-errors, throw-errors
- Language: TypeScript
- Size: 367 KB
- Stars: 11
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# throw-http-errors
> Custom errors for HTTP status codes. For the old js version look at the branch [javascript](https://github.com/eldimious/throw-http-errors/tree/javascript)
[](https://travis-ci.org/eldimious/throw-http-errors) [](https://coveralls.io/github/eldimious/throw-http-errors?branch=master)
## Usage
First, install `throw-http-errors` as a dependency:
```shell
npm install --save throw-http-errors
```## HTTP Errors
```javascript
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
```javascript
new errors.BadRequest('Name required in body', 190);
OR
new errors[400](msg, code);
```### 401 Unauthorized
```javascript
new errors.Unauthorized(msg, code);
OR
new errors[401](msg, code);
```### 402 PaymentRequired
```javascript
new errors.PaymentRequired(msg, code);
OR
new errors[402](msg, code);
```### 403 Forbidden
```javascript
new errors.Forbidden(msg, code);
OR
new errors[403](msg, code);
```### 404 NotFound
```javascript
new errors.NotFound(msg, code);
OR
new errors[404](msg, code);
```### 405 MethodNotAllowed
```javascript
new errors.MethodNotAllowed(msg, code);
OR
new errors[405](msg, code);
```### 500 InternalServerError
```javascript
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
```javascript
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:
```javascript
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'));
});
```## Support Me
[](https://ko-fi.com/Y8Y797KCA)
## Show your support
Give a ⭐️ if this project helped you!