UNPKG

@zerooneit/expressive-tea

Version:
90 lines (89 loc) 2.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UnauthorizedException = exports.BadRequestException = exports.GenericRequestException = void 0; /** * @namespace Exceptions */ /** * HTTP Generic Exception Use this Exception to easily return a HTTP Error on the endpoints handlers. * @export * @class GenericRequestException * @extends {Error} * @param {string} message='Server Error' Provide the Error message. * @param {number} [statusCode=500] HTTP Response Code * @summary HTTP Exception Helper * @example * {REPLACE-AT}Router('/') * class ExceptionExampleController { * {REPLACE-AT}Get('/exception') * exceptionMethod(req, res, next) { * try { * throw new GenericRequestException('Page not found', 404); * } catch (e) { * res.status(e.code).send(e.message); * } * } * } */ class GenericRequestException extends Error { constructor(message, statusCode = 500) { super(message); this.statusCode = 500; this.message = 'Server Error'; this.statusCode = statusCode; this.message = message; } } exports.GenericRequestException = GenericRequestException; /** * Shortcut Exception for 400 HTTP Errors (Bad Request). * @export * @class BadRequestException * @extends {GenericRequestException} * @param {string} [message='Bad Request'] Provide the Error message. * @summary 400 Exception * @example * {REPLACE-AT}Router('/') * class ExceptionExampleController { * {REPLACE-AT}Get('/exception') * exceptionMethod(req, res, next) { * try { * throw new BadRequestException(); * } catch (e) { * res.status(e.code).send(e.message); * } * } * } */ class BadRequestException extends GenericRequestException { constructor(message = 'Bad Request') { super(message, 400); } } exports.BadRequestException = BadRequestException; /** * Shortcut Exception for 401 HTTP Errors (Unauthorized Request). * @export * @class UnauthorizedException * @extends {GenericRequestException} * @param {string} [message='Unauthorized Request'] Provide the Error message. * @summary 401 Exception * @example * {REPLACE-AT}Router('/') * class ExceptionExampleController { * {REPLACE-AT}Get('/exception') * exceptionMethod(req, res, next) { * try { * throw new UnauthorizedException(); * } catch (e) { * res.status(e.code).send(e.message); * } * } * } */ class UnauthorizedException extends GenericRequestException { constructor(message = 'Unauthorized Request') { super(message, 401); } } exports.UnauthorizedException = UnauthorizedException;