UNPKG

@apolitical/server

Version:

Node.js module to encapsulate Apolitical's express server setup

53 lines (44 loc) 1.13 kB
'use strict'; module.exports = ({ httpStatusCodes }) => { const { BAD_REQUEST, FORBIDDEN, INTERNAL_SERVER_ERROR, NOT_FOUND, TOO_MANY_REQUESTS } = httpStatusCodes; class GeneralError extends Error { constructor(message, code, errors = []) { super(message); this.code = code; this.errors = errors; } } class BadRequest extends GeneralError { constructor(message, errors) { super(message, BAD_REQUEST, errors); } } class InternalError extends GeneralError { constructor(message, errors) { super(message, INTERNAL_SERVER_ERROR, errors); } } class Forbidden extends GeneralError { constructor(message, errors) { super(message, FORBIDDEN, errors); } } class NotFound extends GeneralError { constructor(message, errors) { super(message, NOT_FOUND, errors); } } class TooManyRequests extends GeneralError { constructor(message, errors) { super(message, TOO_MANY_REQUESTS, errors); } } return { BadRequest, GeneralError, InternalError, Forbidden, NotFound, TooManyRequests, }; };