@ebec/http v2.3.0
@ebec/http 🥁
A library that provides extensible ES6 HTTP error classes that define basic information about the error.
Table of Contents
Installation
npm install @ebec/http --saveUsage
The usage is pretty easy, just import one of the client or server error classes and use them
in throw- & catch- statements.
Basic
import {
InternalServerError,
NotFoundError
} from "@ebec/http";
const clientError = new NotFoundError();
console.log(clientError.statusCode);
// 404
console.log(clientError.logMessage);
// false
console.log(clientError.code);
// NOT_FOUND
// ------------------------------------
const serverError = new InternalServerError({
logLevel: 'warning'
});
console.log(clientError.statusCode);
// 500
console.log(clientError.logMessage);
// true
console.log(clientError.code);
// INTERNAL_SERVER_ERROR
console.log(clientError.logLevel);
// warningAnother way to use the predefined error classes is to extend them,
with own options.
Extend
import {
Options,
mergeOptions,
NotFoundError
} from "@ebec/http";
class UserNotFound extends NotFoundError {
constructor() {
super({
statusMessage: 'The user was not found.',
code: 'USER_NOT_FOUND'
});
}
}Classes
The following HTTP classes are predefined:
Base
HTTPErrorClientErrorServerError
Client
- 400
BadRequestError - 401
UnauthorizedError - 403
ForbiddenError - 404
NotFoundError - 405
MethodNotAllowedError - 406
NotAcceptableError - 407
ProxyAuthenticationRequiredError - 408
RequestTimeoutError - 409
ConflictError - 410
GoneError - 411
LengthRequiredError - 412
PreconditionFailedError - 413
RequestEntityTooLargeError - 414
RequestUriTooLongError - 415
UnsupportedMediaTypeError - 416
RequestRangeNotSatisfiedError - 417
ExpectationFailedError - 418
ImATeapotError - 420
EnhanceYourCalmError - 422
UnprocessableEntityError - 423
LockedError - 424
FailedDependencyError - 424
UnorderedCollectionError - 426
UpgradeRequiredError - 428
PreconditionRequiredError - 429
TooManyRequestError - 431
RequestHeaderFieldsTooLargeError - 444
NoResponseError - 449
RetryWithError - 450
BlockedByWindowsParentError - 499
ClientClosedRequestError
Server
- 500
InternalServerError - 501
NotImplementedError - 502
BadGatewayError - 503
ServiceUnavailableError - 504
GatewayTimeoutError - 505
HTTPVersionNotSupportedError - 506
VariantAlsoNegotiates - 507
InsufficientStorageError - 508
LoopDetectedError - 509
BandwidthLimitExceededError - 510
NotExtendedError - 511
NetworkAuthenticationRequiredError
Utils
isHTTPError
This method determines whether it is a client or server error.
import { isHTTPError, NotFoundError } from "@ebec/http";
const error = new NotFoundError();
console.log(isHTTPError(error));
// trueisClientError
This method determines whether it is a client error.
import { isClientError, NotFoundError } from "@ebec/http";
const error = new NotFoundError();
console.log(isClientError(error));
// trueisServerError
This method determines whether it is a server error.
import { isServerError, NotFoundError } from "@ebec/http";
const error = new NotFoundError();
console.log(isServerError(error));
// falseLicense
Made with 💚
Published under MIT License.
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago