1.0.2 • Published 6 years ago
@lleon/http-errors v1.0.2
HTTP Errors
Install
npm install @lleon/http-errors
Example
Test instance
import { HttpError, NotFound } from '@lleon/http-errors';
const error = new NotFound()
console.log(error instanceof Error) // true
console.log(error instanceof HttpError) // true
console.log(error instanceof NotFound) // true
With default options
import { NotFound } from '@lleon/http-errors';
const error = new NotFound();
console.log(error.statusCode); // 404
console.log(error.message); // "Not Found"
console.log(error.toJSON()); // { "statusCode": 404, "message": "Not Found", "timestamp": 1512682132993, "metadata": {} }
With custom error message
import { NotFound } from '@lleon/http-errors';
const error = new NotFound('User not found');
console.log(error.statusCode); // 404
console.log(error.message); // "User not found"
console.log(error.toJSON()); // { "statusCode": 404, "message": "User not Found", "timestamp": 1512682132993, "metadata": {} }
With custom metadata
import { NotFound } from '@lleon/http-errors';
const error = new NotFound({ id: 1 });
console.log(error.statusCode); // 404
console.log(error.message); // "User not found"
console.log(error.toJSON()); // { "statusCode": 404, "message": "Not Found", "timestamp": 1512682132993, "metadata": { "id": 1 } }
With custom message and custom metadata
import { NotFound } from '@lleon/http-errors';
const error = new NotFound('User not found', { id: 1 });
console.log(error.statusCode); // 404
console.log(error.message); // "User not found"
console.log(error.toJSON()); // { "statusCode": 404, "message": "User not Found", "timestamp": 1512682132993, "metadata": { "id": 1 } }
Errors
Error | Code | Message |
---|---|---|
BadRequest | 400 | Bad Request |
Unauthorized | 401 | Unauthorized |
PaymentRequired | 402 | Payment Required |
Forbidden | 403 | Forbidden |
NotFound | 404 | Not Found |
MethodNotAllowed | 405 | Method Not Allowed |
NotAcceptable | 406 | Not Acceptable |
ProxyAuthenticationRequired | 407 | Proxy Authentication Required |
RequestTimeout | 408 | Request Timeout |
Conflict | 409 | Conflict |
Gone | 410 | Gone |
LengthRequired | 411 | Length Required |
PreconditionFailed | 412 | Precondition Failed |
PayloadTooLarge | 413 | Payload Too Large |
RequestUriTooLong | 414 | Request-URI Too Long |
UnsupportedMediaType | 415 | Unsupported Media Type |
RequestedRangeNotSatisfiable | 416 | Requested Range Not Satisfiable |
ExpectationFailed | 417 | Expectation Failed |
ImATeapot | 418 | I'm a teapot |
MisdirectedRequest | 421 | Misdirected Request |
UnprocessableEntity | 422 | Unprocessable Entity |
Locked | 423 | Locked |
FailedDependency | 424 | Failed Dependency |
UpgradeRequired | 426 | Upgrade Required |
PreconditionRequired | 428 | Precondition Required |
TooManyRequests | 429 | Too Many Requests |
RequestHeaderFieldsTooLarge | 431 | Request Header Fields Too Large |
ConnectionClosedWithoutResponse | 444 | Connection Closed Without Response |
UnavailableForLegalReasons | 451 | Unavailable For Legal Reasons |
ClientClosedRequest | 499 | Client Closed Request |
InternalServerError | 500 | Internal Server Error |
NotImplemented | 501 | Not Implemented |
BadGateway | 502 | Bad Gateway |
ServiceUnavailable | 503 | Service Unavailable |
GatewayTimeout | 504 | Gateway Timeout |
HttpVersionNotSupported | 505 | HTTP Version Not Supported |
VariantAlsoNegotiates | 506 | Variant Also Negotiates |
InsufficientStorage | 507 | Insufficient Storage |
LoopDetected | 508 | Loop Detected |
NotExtended | 510 | Not Extended |
NetworkAuthenticationRequired | 511 | Network Authentication Required |
NetworkConnectTimeoutError | 599 | Network Connect Timeout Error |