@brainbits/node-logger
Version:
Logger for node projects
51 lines (48 loc) • 1.3 kB
JavaScript
/* eslint-disable max-classes-per-file */
/**
* @description Generates a custom error
* @export
* @class CustomError
* @extends {Error}
*/
export class CustomError extends Error {
constructor(message, context, origin) {
super();
this.context = context;
this.message = message;
this.name = 'CustomError';
this.origin = origin;
if (Error.captureStackTrace) {
Error.captureStackTrace(this, CustomError);
}
}
}
/**
* @description Generates an HTTP error
* @export
* @class HttpError
* @extends {CustomError}
*/
export class HttpError extends CustomError {
constructor(message, context, requestUrl, statusCode, requestId, origin) {
super(message, context, origin);
this.name = 'HttpError';
this.statusCode = statusCode;
this.requestUrl = requestUrl;
this.requestId = requestId;
}
}
/**
* @description Generates a connector error
* @export
* @class ConnectorError
* @extends {CustomError}
*/
export class ConnectorError extends CustomError {
constructor(message, context, requestUrl, requestId, origin) {
super(message, context, origin);
this.name = 'ConnectorError';
this.requestUrl = requestUrl;
this.requestId = requestId;
}
}