@scuba-squad/http-error

    2.0.3 • Public • Published

    HttpError

    Status

    Build Status Coverage Status

    Table of Content

    Purpose

    HttpError class definition

    Installation

    Via npm

    npm install @scuba-squad/http-error

    API

    HttpError(name: number | string)

    Added in: v1.0.0

    Factory method to get a HttpError class

    arguments:

    1. name: number | string

    returns: HttpError

    throws: TypeError

    const errors = require('@scuba-squad/http-error');
    const notFound = errors.HttpError(404);
    
    notFound instanceof Error; // true
    notFound instanceof errors.HttpError; // true
    notFound instanceof errors.ClientError; // true
    notFound instanceof errors.ServerError; // false
    notFound instanceof errors.NotFound; // true
    const errors = require('@scuba-squad/http-error');
    const notFound = errors.HttpError('Not found');
    
    notFound instanceof Error; // true
    notFound instanceof errors.HttpError; // true
    notFound instanceof errors.ClientError; // true
    notFound instanceof errors.ServerError; // false
    notFound instanceof errors.NotFound; // true
    const errors = require('@scuba-squad/http-error');
    const notFound = errors.HttpError('notfound');
    
    notFound instanceof Error; // true
    notFound instanceof errors.HttpError; // true
    notFound instanceof errors.ClientError; // true
    notFound instanceof errors.ServerError; // false
    notFound instanceof errors.NotFound; // true
    const errors = require('@scuba-squad/http-error');
    const notFound = errors.HttpError('not-found');
    
    notFound instanceof Error; // true
    notFound instanceof errors.HttpError; // true
    notFound instanceof errors.ClientError; // true
    notFound instanceof errors.ServerError; // false
    notFound instanceof errors.NotFound; // true
    const errors = require('@scuba-squad/http-error');
    const notFound = errors.HttpError('not_found');
    
    notFound instanceof Error; // true
    notFound instanceof errors.HttpError; // true
    notFound instanceof errors.ClientError; // true
    notFound instanceof errors.ServerError; // false
    notFound instanceof errors.NotFound; // true

    ClientError(name: number | string)

    Added in: v1.0.0

    Factory method to get a ClientError class

    arguments:

    1. name: number | string

    returns: ClientError

    throws: TypeError

    const errors = require('@scuba-squad/http-error');
    const notFound = errors.ClientError(404);
    
    notFound instanceof Error; // true
    notFound instanceof errors.HttpError; // true
    notFound instanceof errors.ClientError; // true
    notFound instanceof errors.ServerError; // false
    notFound instanceof errors.NotFound; // true
    const errors = require('@scuba-squad/http-error');
    const notFound = errors.ClientError('Not found');
    
    notFound instanceof Error; // true
    notFound instanceof errors.HttpError; // true
    notFound instanceof errors.ClientError; // true
    notFound instanceof errors.ServerError; // false
    notFound instanceof errors.NotFound; // true
    const errors = require('@scuba-squad/http-error');
    const notFound = errors.ClientError('notfound');
    
    notFound instanceof Error; // true
    notFound instanceof errors.HttpError; // true
    notFound instanceof errors.ClientError; // true
    notFound instanceof errors.ServerError; // false
    notFound instanceof errors.NotFound; // true
    const errors = require('@scuba-squad/http-error');
    const notFound = errors.ClientError('not-found');
    
    notFound instanceof Error; // true
    notFound instanceof errors.HttpError; // true
    notFound instanceof errors.ClientError; // true
    notFound instanceof errors.ServerError; // false
    notFound instanceof errors.NotFound; // true
    const errors = require('@scuba-squad/http-error');
    const notFound = errors.ClientError('not_found');
    
    notFound instanceof Error; // true
    notFound instanceof errors.HttpError; // true
    notFound instanceof errors.ClientError; // true
    notFound instanceof errors.ServerError; // false
    notFound instanceof errors.NotFound; // true

    ServerError(name: number | string)

    Added in: v1.0.0

    Factory method to get a ServerError class

    arguments:

    1. name: number | string

    returns: ServerError

    throws: TypeError

    const errors = require('@scuba-squad/http-error');
    const internalServerError = errors.ServerError(500);
    
    internalServerError instanceof Error; // true
    internalServerError instanceof errors.HttpError; // true
    internalServerError instanceof errors.ClientError; // false
    internalServerError instanceof errors.ServerError; // true
    internalServerError instanceof errors.InternalServerError; // true
    const errors = require('@scuba-squad/http-error');
    const internalServerError = errors.ServerError('Internal Server Error');
    
    internalServerError instanceof Error; // true
    internalServerError instanceof errors.HttpError; // true
    internalServerError instanceof errors.ClientError; // false
    internalServerError instanceof errors.ServerError; // true
    internalServerError instanceof errors.InternalServerError; // true
    const errors = require('@scuba-squad/http-error');
    const internalServerError = errors.ServerError('internalservererror');
    
    internalServerError instanceof Error; // true
    internalServerError instanceof errors.HttpError; // true
    internalServerError instanceof errors.ClientError; // false
    internalServerError instanceof errors.ServerError; // true
    internalServerError instanceof errors.InternalServerError; // true
    const errors = require('@scuba-squad/http-error');
    const internalServerError = errors.ServerError('internal-server-error');
    
    internalServerError instanceof Error; // true
    internalServerError instanceof errors.HttpError; // true
    internalServerError instanceof errors.ClientError; // false
    internalServerError instanceof errors.ServerError; // true
    internalServerError instanceof errors.InternalServerError; // true
    const errors = require('@scuba-squad/http-error');
    const internalServerError = errors.ServerError('internal_server_error');
    
    internalServerError instanceof Error; // true
    internalServerError instanceof errors.HttpError; // true
    internalServerError instanceof errors.ClientError; // false
    internalServerError instanceof errors.ServerError; // true
    internalServerError instanceof errors.InternalServerError; // true

    BadRequest(opt?: {message?: string = 'Please, correct your request and try again.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    BadRequest class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Please, correct your request and try again.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {BadRequest} = require('@scuba-squad/http-errors');
    const error = new BadRequest();
    
    error instanceof BadRequest; // true
    error.code; // 400
    error.status; // Bad Request
    error.message; // Please, correct your request and try again.

    alternatively

    • you can create an instance without the new keyword
    const {BadRequest} = require('@scuba-squad/http-errors');
    const error = BadRequest();
    
    error instanceof BadRequest; // true
    error.code; // 400
    error.status; // Bad Request
    error.message; // Please, correct your request and try again.

    Unauthorized(opt?: {message?: string = 'Please, authenticate and try again.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    Unauthorized class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Please, authenticate and try again.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {Unauthorized} = require('@scuba-squad/http-errors');
    const error = new Unauthorized();
    
    error instanceof Unauthorized; // true
    error.code; // 401
    error.status; // Unauthorized
    error.message; // Please, authenticate and try again.

    alternatively

    • you can create an instance without the new keyword
    const {Unauthorized} = require('@scuba-squad/http-errors');
    const error = Unauthorized();
    
    error instanceof Unauthorized; // true
    error.code; // 401
    error.status; // Unauthorized
    error.message; // Please, authenticate and try again.

    PaymentRequired(opt?: {message?: string = 'Payment is required to use this service.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    PaymentRequired class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Payment is required to use this service.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {PaymentRequired} = require('@scuba-squad/http-errors');
    const error = new PaymentRequired();
    
    error instanceof PaymentRequired; // true
    error.code; // 402
    error.status; // Payment Required
    error.message; // Payment is required to use this service.

    alternatively

    • you can create an instance without the new keyword
    const {PaymentRequired} = require('@scuba-squad/http-errors');
    const error = PaymentRequired();
    
    error instanceof PaymentRequired; // true
    error.code; // 402
    error.status; // Payment Required
    error.message; // Payment is required to use this service.

    Forbidden(opt?: {message?: string = 'You lack permission to preform this action.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    Forbidden class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'You lack permission to preform this action.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {Forbidden} = require('@scuba-squad/http-errors');
    const error = new Forbidden();
    
    error instanceof Forbidden; // true
    error.code; // 403
    error.status; // Forbidden
    error.message; // You lack permission to preform this action.

    alternatively

    • you can create an instance without the new keyword
    const {Forbidden} = require('@scuba-squad/http-errors');
    const error = Forbidden();
    
    error instanceof Forbidden; // true
    error.code; // 403
    error.status; // Forbidden
    error.message; // You lack permission to preform this action.

    NotFound(opt?: {message?: string = 'The requested document was not found.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    NotFound class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'The requested document was not found.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {NotFound} = require('@scuba-squad/http-errors');
    const error = new NotFound();
    
    error instanceof NotFound; // true
    error.code; // 404
    error.status; // Not Found
    error.message; // The requested document was not found.

    alternatively

    • you can create an instance without the new keyword
    const {NotFound} = require('@scuba-squad/http-errors');
    const error = NotFound();
    
    error instanceof NotFound; // true
    error.code; // 404
    error.status; // Not Found
    error.message; // The requested document was not found.

    MethodNotAllowed(opt?: {message?: string = 'Please, check your request method and try again.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    MethodNotAllowed class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Please, check your request method and try again.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {MethodNotAllowed} = require('@scuba-squad/http-errors');
    const error = new MethodNotAllowed();
    
    error instanceof MethodNotAllowed; // true
    error.code; // 405
    error.status; // Method Not Allowed
    error.message; // Please, check your request method and try again.

    alternatively

    • you can create an instance without the new keyword
    const {MethodNotAllowed} = require('@scuba-squad/http-errors');
    const error = MethodNotAllowed();
    
    error instanceof MethodNotAllowed; // true
    error.code; // 405
    error.status; // Method Not Allowed
    error.message; // Please, check your request method and try again.

    NotAcceptable(opt?: {message?: string = 'The requested document format is not supported.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    NotAcceptable class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'The requested document format is not supported.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {NotAcceptable} = require('@scuba-squad/http-errors');
    const error = new NotAcceptable();
    
    error instanceof NotAcceptable; // true
    error.code; // 406
    error.status; // Not Acceptable
    error.message; // The requested document format is not supported.

    alternatively

    • you can create an instance without the new keyword
    const {NotAcceptable} = require('@scuba-squad/http-errors');
    const error = NotAcceptable();
    
    error instanceof NotAcceptable; // true
    error.code; // 406
    error.status; // Not Acceptable
    error.message; // The requested document format is not supported.

    ProxyAuthenticationRequired(opt?: {message?: string = 'Please, authenticate with the proxy server and try again.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    ProxyAuthenticationRequired class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Please, authenticate with the proxy server and try again.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {ProxyAuthenticationRequired} = require('@scuba-squad/http-errors');
    const error = new ProxyAuthenticationRequired();
    
    error instanceof ProxyAuthenticationRequired; // true
    error.code; // 407
    error.status; // Proxy Authentication Required
    error.message; // Please, authenticate with the proxy server and try again.

    alternatively

    • you can create an instance without the new keyword
    const {ProxyAuthenticationRequired} = require('@scuba-squad/http-errors');
    const error = ProxyAuthenticationRequired();
    
    error instanceof ProxyAuthenticationRequired; // true
    error.code; // 407
    error.status; // Proxy Authentication Required
    error.message; // Please, authenticate with the proxy server and try again.

    RequestTimeout(opt?: {message?: string = 'Sorry, it appears we are on break, please try again later.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    RequestTimeout class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Sorry, it appears we are on break, please try again later.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {RequestTimeout} = require('@scuba-squad/http-errors');
    const error = new RequestTimeout();
    
    error instanceof RequestTimeout; // true
    error.code; // 408
    error.status; // Request Timeout
    error.message; // Sorry, it appears we are on break, please try again later.

    alternatively

    • you can create an instance without the new keyword
    const {RequestTimeout} = require('@scuba-squad/http-errors');
    const error = RequestTimeout();
    
    error instanceof RequestTimeout; // true
    error.code; // 408
    error.status; // Request Timeout
    error.message; // Sorry, it appears we are on break, please try again later.

    Conflict(opt?: {message?: string = 'Houston, we have a conflict, please reload the resource and try again.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    Conflict class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Houston, we have a conflict, please reload the resource and try again.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {Conflict} = require('@scuba-squad/http-errors');
    const error = new Conflict();
    
    error instanceof Conflict; // true
    error.code; // 409
    error.status; // Conflict
    error.message; // Houston, we have a conflict, please reload the resource and try again.

    alternatively

    • you can create an instance without the new keyword
    const {Conflict} = require('@scuba-squad/http-errors');
    const error = Conflict();
    
    error instanceof Conflict; // true
    error.code; // 409
    error.status; // Conflict
    error.message; // Houston, we have a conflict, please reload the resource and try again.

    Gone(opt?: {message?: string = 'Sorry, but that resource has been removed.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    Gone class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Sorry, but that resource has been removed.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {Gone} = require('@scuba-squad/http-errors');
    const error = new Gone();
    
    error instanceof Gone; // true
    error.code; // 410
    error.status; // Gone
    error.message; // Sorry, but that resource has been removed.

    alternatively

    • you can create an instance without the new keyword
    const {Gone} = require('@scuba-squad/http-errors');
    const error = Gone();
    
    error instanceof Gone; // true
    error.code; // 410
    error.status; // Gone
    error.message; // Sorry, but that resource has been removed.

    LengthRequired(opt?: {message?: string = 'Please, correct the Length header and try again.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    LengthRequired class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Please, correct the Length header and try again.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {LengthRequired} = require('@scuba-squad/http-errors');
    const error = new LengthRequired();
    
    error instanceof LengthRequired; // true
    error.code; // 411
    error.status; // Length Required
    error.message; // Please, correct the Length header and try again.

    alternatively

    • you can create an instance without the new keyword
    const {LengthRequired} = require('@scuba-squad/http-errors');
    const error = LengthRequired();
    
    error instanceof LengthRequired; // true
    error.code; // 411
    error.status; // Length Required
    error.message; // Please, correct the Length header and try again.

    PreconditionFailed(opt?: {message?: string = 'Sorry, it appears 1 or more preconditions on the request have changed, please correct and try again.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    PreconditionFailed class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Sorry, it appears 1 or more preconditions on the request have changed, please correct and try again.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {PreconditionFailed} = require('@scuba-squad/http-errors');
    const error = new PreconditionFailed();
    
    error instanceof PreconditionFailed; // true
    error.code; // 412
    error.status; // Precondition Failed
    error.message; // Sorry, it appears 1 or more preconditions on the request have changed, please correct and try again.

    alternatively

    • you can create an instance without the new keyword
    const {PreconditionFailed} = require('@scuba-squad/http-errors');
    const error = PreconditionFailed();
    
    error instanceof PreconditionFailed; // true
    error.code; // 412
    error.status; // Precondition Failed
    error.message; // Sorry, it appears 1 or more preconditions on the request have changed, please correct and try again.

    PayloadTooLarge(opt?: {message?: string = 'Request payload is too large and can not be processed.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    PayloadTooLarge class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Request payload is too large and can not be processed.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {PayloadTooLarge} = require('@scuba-squad/http-errors');
    const error = new PayloadTooLarge();
    
    error instanceof PayloadTooLarge; // true
    error.code; // 413
    error.status; // Payload Too Large
    error.message; // Request payload is too large and can not be processed.

    alternatively

    • you can create an instance without the new keyword
    const {PayloadTooLarge} = require('@scuba-squad/http-errors');
    const error = PayloadTooLarge();
    
    error instanceof PayloadTooLarge; // true
    error.code; // 413
    error.status; // Payload Too Large
    error.message; // Request payload is too large and can not be processed.

    URITooLong(opt?: {message?: string = 'Request uri is too large and can not be processed.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    URITooLong class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Request uri is too large and can not be processed.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {URITooLong} = require('@scuba-squad/http-errors');
    const error = new URITooLong();
    
    error instanceof URITooLong; // true
    error.code; // 414
    error.status; // URI Too Long
    error.message; // Request uri is too large and can not be processed.

    alternatively

    • you can create an instance without the new keyword
    const {URITooLong} = require('@scuba-squad/http-errors');
    const error = URITooLong();
    
    error instanceof URITooLong; // true
    error.code; // 414
    error.status; // URI Too Long
    error.message; // Request uri is too large and can not be processed.

    UnsupportedMediaType(opt?: {message?: string = 'Please, try again with a different media format.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    UnsupportedMediaType class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Please, try again with a different media format.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {UnsupportedMediaType} = require('@scuba-squad/http-errors');
    const error = new UnsupportedMediaType();
    
    error instanceof UnsupportedMediaType; // true
    error.code; // 415
    error.status; // Unsupported Media Type
    error.message; // Please, try again with a different media format.

    alternatively

    • you can create an instance without the new keyword
    const {UnsupportedMediaType} = require('@scuba-squad/http-errors');
    const error = UnsupportedMediaType();
    
    error instanceof UnsupportedMediaType; // true
    error.code; // 415
    error.status; // Unsupported Media Type
    error.message; // Please, try again with a different media format.

    RangeNotSatisfiable(opt?: {message?: string = 'Requested range is not satisfiable, please check Range and try again.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    RangeNotSatisfiable class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Requested range is not satisfiable, please check Range and try again.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {RangeNotSatisfiable} = require('@scuba-squad/http-errors');
    const error = new RangeNotSatisfiable();
    
    error instanceof RangeNotSatisfiable; // true
    error.code; // 416
    error.status; // Range Not Satisfiable
    error.message; // Requested range is not satisfiable, please check Range and try again.

    alternatively

    • you can create an instance without the new keyword
    const {RangeNotSatisfiable} = require('@scuba-squad/http-errors');
    const error = RangeNotSatisfiable();
    
    error instanceof RangeNotSatisfiable; // true
    error.code; // 416
    error.status; // Range Not Satisfiable
    error.message; // Requested range is not satisfiable, please check Range and try again.

    ExpectationFailed(opt?: {message?: string = 'Sorry, your expectation can not be meet, please check Expect and try again.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    ExpectationFailed class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Sorry, your expectation can not be meet, please check Expect and try again.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {ExpectationFailed} = require('@scuba-squad/http-errors');
    const error = new ExpectationFailed();
    
    error instanceof ExpectationFailed; // true
    error.code; // 417
    error.status; // Expectation Failed
    error.message; // Sorry, your expectation can not be meet, please check Expect and try again.

    alternatively

    • you can create an instance without the new keyword
    const {ExpectationFailed} = require('@scuba-squad/http-errors');
    const error = ExpectationFailed();
    
    error instanceof ExpectationFailed; // true
    error.code; // 417
    error.status; // Expectation Failed
    error.message; // Sorry, your expectation can not be meet, please check Expect and try again.

    IMATeapot(opt?: {message?: string = 'Tip me over, and pour me out.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    IMATeapot class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Tip me over, and pour me out.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {IMATeapot} = require('@scuba-squad/http-errors');
    const error = new IMATeapot();
    
    error instanceof IMATeapot; // true
    error.code; // 418
    error.status; // I\'m a teapot
    error.message; // Tip me over, and pour me out.

    alternatively

    • you can create an instance without the new keyword
    const {IMATeapot} = require('@scuba-squad/http-errors');
    const error = IMATeapot();
    
    error instanceof IMATeapot; // true
    error.code; // 418
    error.status; // I\'m a teapot
    error.message; // Tip me over, and pour me out.

    MisdirectedRequest(opt?: {message?: string = 'Sorry, we got misdirected, please try again later.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    MisdirectedRequest class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Sorry, we got misdirected, please try again later.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {MisdirectedRequest} = require('@scuba-squad/http-errors');
    const error = new MisdirectedRequest();
    
    error instanceof MisdirectedRequest; // true
    error.code; // 421
    error.status; // Misdirected Request
    error.message; // Sorry, we got misdirected, please try again later.

    alternatively

    • you can create an instance without the new keyword
    const {MisdirectedRequest} = require('@scuba-squad/http-errors');
    const error = MisdirectedRequest();
    
    error instanceof MisdirectedRequest; // true
    error.code; // 421
    error.status; // Misdirected Request
    error.message; // Sorry, we got misdirected, please try again later.

    UnprocessableEntity(opt?: {message?: string = 'Sorry, it appears your document instructions are semantically erroneous.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    UnprocessableEntity class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Sorry, it appears your document instructions are semantically erroneous.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {UnprocessableEntity} = require('@scuba-squad/http-errors');
    const error = new UnprocessableEntity();
    
    error instanceof UnprocessableEntity; // true
    error.code; // 422
    error.status; // Unprocessable Entity
    error.message; // Sorry, it appears your document instructions are semantically erroneous.

    alternatively

    • you can create an instance without the new keyword
    const {UnprocessableEntity} = require('@scuba-squad/http-errors');
    const error = UnprocessableEntity();
    
    error instanceof UnprocessableEntity; // true
    error.code; // 422
    error.status; // Unprocessable Entity
    error.message; // Sorry, it appears your document instructions are semantically erroneous.

    Locked(opt?: {message?: string = 'Document is currently locked, please try again later.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    Locked class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Document is currently locked, please try again later.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {Locked} = require('@scuba-squad/http-errors');
    const error = new Locked();
    
    error instanceof Locked; // true
    error.code; // 423
    error.status; // Locked
    error.message; // Document is currently locked, please try again later.

    alternatively

    • you can create an instance without the new keyword
    const {Locked} = require('@scuba-squad/http-errors');
    const error = Locked();
    
    error instanceof Locked; // true
    error.code; // 423
    error.status; // Locked
    error.message; // Document is currently locked, please try again later.

    FailedDependency(opt?: {message?: string = 'Sorry, it appears a dependent request has failed please retry previous dependent request and try again.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    FailedDependency class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Sorry, it appears a dependent request has failed please retry previous dependent request and try again.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {FailedDependency} = require('@scuba-squad/http-errors');
    const error = new FailedDependency();
    
    error instanceof FailedDependency; // true
    error.code; // 424
    error.status; // Failed Dependency
    error.message; // Sorry, it appears a dependent request has failed please retry previous dependent request and try again.

    alternatively

    • you can create an instance without the new keyword
    const {FailedDependency} = require('@scuba-squad/http-errors');
    const error = FailedDependency();
    
    error instanceof FailedDependency; // true
    error.code; // 424
    error.status; // Failed Dependency
    error.message; // Sorry, it appears a dependent request has failed please retry previous dependent request and try again.

    UpgradeRequired(opt?: {message?: string = 'Please, upgrade and try again.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    UpgradeRequired class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Please, upgrade and try again.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {UpgradeRequired} = require('@scuba-squad/http-errors');
    const error = new UpgradeRequired();
    
    error instanceof UpgradeRequired; // true
    error.code; // 426
    error.status; // Upgrade Required
    error.message; // Please, upgrade and try again.

    alternatively

    • you can create an instance without the new keyword
    const {UpgradeRequired} = require('@scuba-squad/http-errors');
    const error = UpgradeRequired();
    
    error instanceof UpgradeRequired; // true
    error.code; // 426
    error.status; // Upgrade Required
    error.message; // Please, upgrade and try again.

    PreconditionRequired(opt?: {message?: string = 'Please, add preconditions to your request and try again.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    PreconditionRequired class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Please, add preconditions to your request and try again.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {PreconditionRequired} = require('@scuba-squad/http-errors');
    const error = new PreconditionRequired();
    
    error instanceof PreconditionRequired; // true
    error.code; // 428
    error.status; // Precondition Required
    error.message; // Please, add preconditions to your request and try again.

    alternatively

    • you can create an instance without the new keyword
    const {PreconditionRequired} = require('@scuba-squad/http-errors');
    const error = PreconditionRequired();
    
    error instanceof PreconditionRequired; // true
    error.code; // 428
    error.status; // Precondition Required
    error.message; // Please, add preconditions to your request and try again.

    TooManyRequests(opt?: {message?: string = 'Sorry, you have exceeded your rate limit, please try again later.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    TooManyRequests class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Sorry, you have exceeded your rate limit, please try again later.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {TooManyRequests} = require('@scuba-squad/http-errors');
    const error = new TooManyRequests();
    
    error instanceof TooManyRequests; // true
    error.code; // 429
    error.status; // Too Many Requests
    error.message; // Sorry, you have exceeded your rate limit, please try again later.

    alternatively

    • you can create an instance without the new keyword
    const {TooManyRequests} = require('@scuba-squad/http-errors');
    const error = TooManyRequests();
    
    error instanceof TooManyRequests; // true
    error.code; // 429
    error.status; // Too Many Requests
    error.message; // Sorry, you have exceeded your rate limit, please try again later.

    RequestHeaderFieldsTooLarge(opt?: {message?: string = 'Request header is too large and can not be processed.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    RequestHeaderFieldsTooLarge class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Request header is too large and can not be processed.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {RequestHeaderFieldsTooLarge} = require('@scuba-squad/http-errors');
    const error = new RequestHeaderFieldsTooLarge();
    
    error instanceof RequestHeaderFieldsTooLarge; // true
    error.code; // 431
    error.status; // Request Header Fields Too Large
    error.message; // Request header is too large and can not be processed.

    alternatively

    • you can create an instance without the new keyword
    const {RequestHeaderFieldsTooLarge} = require('@scuba-squad/http-errors');
    const error = RequestHeaderFieldsTooLarge();
    
    error instanceof RequestHeaderFieldsTooLarge; // true
    error.code; // 431
    error.status; // Request Header Fields Too Large
    error.message; // Request header is too large and can not be processed.

    UnavailableForLegalReasons(opt?: {message?: string = 'Due to legal reasons this resource has been removed.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    UnavailableForLegalReasons class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Due to legal reasons this resource has been removed.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {UnavailableForLegalReasons} = require('@scuba-squad/http-errors');
    const error = new UnavailableForLegalReasons();
    
    error instanceof UnavailableForLegalReasons; // true
    error.code; // 451
    error.status; // Unavailable For Legal Reasons
    error.message; // Due to legal reasons this resource has been removed.

    alternatively

    • you can create an instance without the new keyword
    const {UnavailableForLegalReasons} = require('@scuba-squad/http-errors');
    const error = UnavailableForLegalReasons();
    
    error instanceof UnavailableForLegalReasons; // true
    error.code; // 451
    error.status; // Unavailable For Legal Reasons
    error.message; // Due to legal reasons this resource has been removed.

    InternalServerError(opt?: {message?: string = 'Sorry, it appears we had an unexpected error, please try again.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    InternalServerError class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Sorry, it appears we had an unexpected error, please try again.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {InternalServerError} = require('@scuba-squad/http-errors');
    const error = new InternalServerError();
    
    error instanceof InternalServerError; // true
    error.code; // 500
    error.status; // Internal Server Error
    error.message; // Sorry, it appears we had an unexpected error, please try again.

    alternatively

    • you can create an instance without the new keyword
    const {InternalServerError} = require('@scuba-squad/http-errors');
    const error = InternalServerError();
    
    error instanceof InternalServerError; // true
    error.code; // 500
    error.status; // Internal Server Error
    error.message; // Sorry, it appears we had an unexpected error, please try again.

    NotImplemented(opt?: {message?: string = 'Sorry, this is not fully implemented, please try later.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    NotImplemented class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Sorry, this is not fully implemented, please try later.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {NotImplemented} = require('@scuba-squad/http-errors');
    const error = new NotImplemented();
    
    error instanceof NotImplemented; // true
    error.code; // 501
    error.status; // Not Implemented
    error.message; // Sorry, this is not fully implemented, please try later.

    alternatively

    • you can create an instance without the new keyword
    const {NotImplemented} = require('@scuba-squad/http-errors');
    const error = NotImplemented();
    
    error instanceof NotImplemented; // true
    error.code; // 501
    error.status; // Not Implemented
    error.message; // Sorry, this is not fully implemented, please try later.

    BadGateway(opt?: {message?: string = 'Sorry, It appears we received an error from another service that is needed to fulfill your request, please try again later.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    BadGateway class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Sorry, It appears we received an error from another service that is needed to fulfill your request, please try again later.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {BadGateway} = require('@scuba-squad/http-errors');
    const error = new BadGateway();
    
    error instanceof BadGateway; // true
    error.code; // 502
    error.status; // Bad Gateway
    error.message; // Sorry, It appears we received an error from another service that is needed to fulfill your request, please try again later.

    alternatively

    • you can create an instance without the new keyword
    const {BadGateway} = require('@scuba-squad/http-errors');
    const error = BadGateway();
    
    error instanceof BadGateway; // true
    error.code; // 502
    error.status; // Bad Gateway
    error.message; // Sorry, It appears we received an error from another service that is needed to fulfill your request, please try again later.

    ServiceUnavailable(opt?: {message?: string = 'Sorry, this service is currently unavailable, please try later.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    ServiceUnavailable class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Sorry, this service is currently unavailable, please try later.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {ServiceUnavailable} = require('@scuba-squad/http-errors');
    const error = new ServiceUnavailable();
    
    error instanceof ServiceUnavailable; // true
    error.code; // 503
    error.status; // Service Unavailable
    error.message; // Sorry, this service is currently unavailable, please try later.

    alternatively

    • you can create an instance without the new keyword
    const {ServiceUnavailable} = require('@scuba-squad/http-errors');
    const error = ServiceUnavailable();
    
    error instanceof ServiceUnavailable; // true
    error.code; // 503
    error.status; // Service Unavailable
    error.message; // Sorry, this service is currently unavailable, please try later.

    GatewayTimeout(opt?: {message?: string = 'Sorry, it appears another service is taking to long and we cannot wait any longer.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    GatewayTimeout class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Sorry, it appears another service is taking to long and we cannot wait any longer.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {GatewayTimeout} = require('@scuba-squad/http-errors');
    const error = new GatewayTimeout();
    
    error instanceof GatewayTimeout; // true
    error.code; // 504
    error.status; // Gateway Timeout
    error.message; // Sorry, it appears another service is taking to long and we cannot wait any longer.

    alternatively

    • you can create an instance without the new keyword
    const {GatewayTimeout} = require('@scuba-squad/http-errors');
    const error = GatewayTimeout();
    
    error instanceof GatewayTimeout; // true
    error.code; // 504
    error.status; // Gateway Timeout
    error.message; // Sorry, it appears another service is taking to long and we cannot wait any longer.

    HTTPVersionNotSupported(opt?: {message?: string = 'Please, try a diffrent protocol version and try again.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    HTTPVersionNotSupported class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Please, try a diffrent protocol version and try again.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {HTTPVersionNotSupported} = require('@scuba-squad/http-errors');
    const error = new HTTPVersionNotSupported();
    
    error instanceof HTTPVersionNotSupported; // true
    error.code; // 505
    error.status; // HTTP Version Not Supported
    error.message; // Please, try a diffrent protocol version and try again.

    alternatively

    • you can create an instance without the new keyword
    const {HTTPVersionNotSupported} = require('@scuba-squad/http-errors');
    const error = HTTPVersionNotSupported();
    
    error instanceof HTTPVersionNotSupported; // true
    error.code; // 505
    error.status; // HTTP Version Not Supported
    error.message; // Please, try a diffrent protocol version and try again.

    VariantAlsoNegotiates(opt?: {message?: string = 'Sorry, it appears there is a misconfiguration on our end.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    VariantAlsoNegotiates class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Sorry, it appears there is a misconfiguration on our end.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {VariantAlsoNegotiates} = require('@scuba-squad/http-errors');
    const error = new VariantAlsoNegotiates();
    
    error instanceof VariantAlsoNegotiates; // true
    error.code; // 506
    error.status; // Variant Also Negotiates
    error.message; // Sorry, it appears there is a misconfiguration on our end.

    alternatively

    • you can create an instance without the new keyword
    const {VariantAlsoNegotiates} = require('@scuba-squad/http-errors');
    const error = VariantAlsoNegotiates();
    
    error instanceof VariantAlsoNegotiates; // true
    error.code; // 506
    error.status; // Variant Also Negotiates
    error.message; // Sorry, it appears there is a misconfiguration on our end.

    InsufficientStorage(opt?: {message?: string = 'Sorry, it appears we have no more room for storage.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    InsufficientStorage class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Sorry, it appears we have no more room for storage.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {InsufficientStorage} = require('@scuba-squad/http-errors');
    const error = new InsufficientStorage();
    
    error instanceof InsufficientStorage; // true
    error.code; // 507
    error.status; // Insufficient Storage
    error.message; // Sorry, it appears we have no more room for storage.

    alternatively

    • you can create an instance without the new keyword
    const {InsufficientStorage} = require('@scuba-squad/http-errors');
    const error = InsufficientStorage();
    
    error instanceof InsufficientStorage; // true
    error.code; // 507
    error.status; // Insufficient Storage
    error.message; // Sorry, it appears we have no more room for storage.

    LoopDetected(opt?: {message?: string = 'Sorry, We have detected an infintie loop and had to stop the request, please try again later.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    LoopDetected class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Sorry, We have detected an infintie loop and had to stop the request, please try again later.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {LoopDetected} = require('@scuba-squad/http-errors');
    const error = new LoopDetected();
    
    error instanceof LoopDetected; // true
    error.code; // 508
    error.status; // Loop Detected
    error.message; // Sorry, We have detected an infintie loop and had to stop the request, please try again later.

    alternatively

    • you can create an instance without the new keyword
    const {LoopDetected} = require('@scuba-squad/http-errors');
    const error = LoopDetected();
    
    error instanceof LoopDetected; // true
    error.code; // 508
    error.status; // Loop Detected
    error.message; // Sorry, We have detected an infintie loop and had to stop the request, please try again later.

    NotExtended(opt?: {message?: string = 'The policy for accessing this resource has not been met by this request.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    NotExtended class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'The policy for accessing this resource has not been met by this request.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {NotExtended} = require('@scuba-squad/http-errors');
    const error = new NotExtended();
    
    error instanceof NotExtended; // true
    error.code; // 510
    error.status; // Not Extended
    error.message; // The policy for accessing this resource has not been met by this request.

    alternatively

    • you can create an instance without the new keyword
    const {NotExtended} = require('@scuba-squad/http-errors');
    const error = NotExtended();
    
    error instanceof NotExtended; // true
    error.code; // 510
    error.status; // Not Extended
    error.message; // The policy for accessing this resource has not been met by this request.

    NetworkAuthenticationRequired(opt?: {message?: string = 'Please, authenticate with the network and try again.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    NetworkAuthenticationRequired class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Please, authenticate with the network and try again.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {NetworkAuthenticationRequired} = require('@scuba-squad/http-errors');
    const error = new NetworkAuthenticationRequired();
    
    error instanceof NetworkAuthenticationRequired; // true
    error.code; // 511
    error.status; // Network Authentication Required
    error.message; // Please, authenticate with the network and try again.

    alternatively

    • you can create an instance without the new keyword
    const {NetworkAuthenticationRequired} = require('@scuba-squad/http-errors');
    const error = NetworkAuthenticationRequired();
    
    error instanceof NetworkAuthenticationRequired; // true
    error.code; // 511
    error.status; // Network Authentication Required
    error.message; // Please, authenticate with the network and try again.

    UnknownError(opt?: {message?: string = 'Sorry, an unexpected error has occured, please try again later.', debug?: any, cause?: any} = {})

    Added in: v1.0.0

    UnknownError class constructor

    arguments:

    1. opt: object = {}
    • message?: string = 'Sorry, an unexpected error has occured, please try again later.'
    • debug?: any
    • cause?: any

    returns: BadRequest

    const {UnknownError} = require('@scuba-squad/http-errors');
    const error = new UnknownError();
    
    error instanceof UnknownError; // true
    error.code; // 520
    error.status; // Unknown Error
    error.message; // Sorry, an unexpected error has occured, please try again later.

    alternatively

    • you can create an instance without the new keyword
    const {UnknownError} = require('@scuba-squad/http-errors');
    const error = UnknownError();
    
    error instanceof UnknownError; // true
    error.code; // 520
    error.status; // Unknown Error
    error.message; // Sorry, an unexpected error has occured, please try again later.

    Test

    tests

    npm install
    npm test

    License

    MIT

    Install

    npm i @scuba-squad/http-error

    DownloadsWeekly Downloads

    3

    Version

    2.0.3

    License

    MIT

    Unpacked Size

    1.42 MB

    Total Files

    107

    Last publish

    Collaborators

    • scub45t3v3