
Company News
Socket Joins New OpenJS Program to Fund Node.js Security Work
Socket is joining the OpenJS Security Stewardship Program to fund Node.js vulnerability research, maintainer remediation, and security releases.
@ebec/http
Advanced tools
This library provides HTTP base error classes (NotFoundError, InternalServerError, ...),
which can simply be extended.
Table of Contents
npm install @ebec/http --save
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.getOption('statusCode'));
// 404
console.log(clientError.getOption('logMessage'));
// false
console.log(clientError.getOption('code'));
// NOT_FOUND
// ------------------------------------
const serverError = new InternalServerError({
logLevel: 'warning'
});
console.log(serverError.getOption('statusCode'));
// 500
console.log(serverError.getOption('logMessage'));
// true
console.log(serverError.getOption('code'));
// INTERNAL_SERVER_ERROR
console.log(serverError.getOption('logLevel'));
// warning
Another 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(options?: Options) {
super(mergeOptions(
{
message: 'The user was not found.',
code: 'USER_NOT_FOUND'
},
...(options ? options : {})
));
}
}
The following HTTP classes are predefined:
BadRequestErrorUnauthorizedErrorForbiddenErrorNotFoundErrorMethodNotAllowedErrorNotAcceptableErrorProxyAuthenticationRequiredErrorRequesTimeoutErrorConflictErrorGoneErrorLengthRequiredErrorPreconditionFailedErrorRequestEntityTooLargeErrorRequestUriTooLongErrorUnsupportedMediaTypeErrorRequestRangeNotSatisfiedErrorExpectationFailedErrorImATeapotErrorEnhanceYourCalmErrorUnprocessableEntityErrorLockedErrorFailedDependencyErrorUnorderedCollectionErrorUpgradeRequiredErrorPreconditionRequiredErrorTooManyRequestErrorRequestHeaderFieldsTooLargeErrorNoResponseErrorRetryWithErrorBlockedByWindowsParentErrorClientClosedRequestErrorInternalServerErrorNotImplementedErrorBadGatewayErrorServiceUnavailableErrorGatewayTimeoutErrorHTTPVersionNotSupportedErrorVariantAlsoNegotiatesInsufficientStorageErrorLoopDetectedErrorBandwidthLimitExceededErrorNotExtendedErrorNetworkAuthenticationRequiredErrorMade with 💚
Published under MIT License.
FAQs
43 pre-built HTTP error classes (4xx/5xx) with status codes, status messages, and duck-typed type guards.
The npm package @ebec/http receives a total of 1,550 weekly downloads. As such, @ebec/http popularity was classified as popular.
We found that @ebec/http demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Company News
Socket is joining the OpenJS Security Stewardship Program to fund Node.js vulnerability research, maintainer remediation, and security releases.

Security News
Two compromised GitHub Actions were re-enabled with malicious tags intact, exposing thousands of downstream repositories to Mini Shai-Hulud.

Research
/Security News
A malicious Firefox extension fetches its payload after installation to evade detection, steal Google session cookies, and automate account takeover.