UNPKG

bloomreach-transactional-email

Version:

A nonofficial, feature complete, client library for sending transactional emails via Bloomreach.

63 lines (62 loc) 2.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BloomreachContextDeadlineExceeded = exports.BloomReachRateLimited = exports.BloomreachSuppressionList = exports.BloomreachTemplateNotFound = exports.BloomreachBadRequest = exports.BloomreachError = void 0; const axios_1 = require("axios"); class BloomreachError extends axios_1.AxiosError { constructor(error) { super(buildMessage(error), error.code, error.config, error.request, error.response); } getStatus() { return this.response?.status; } getStatusText() { return this.response?.statusText; } getResponse() { return this.response?.data ?? this.message; } getHeaders() { return this.response?.headers; } // @deprecated, use this.message. getCombinedMessage() { return this.message; } } exports.BloomreachError = BloomreachError; class BloomreachBadRequest extends BloomreachError { constructor(error) { super(error); } } exports.BloomreachBadRequest = BloomreachBadRequest; class BloomreachTemplateNotFound extends BloomreachBadRequest { constructor(error) { super(error); } } exports.BloomreachTemplateNotFound = BloomreachTemplateNotFound; class BloomreachSuppressionList extends BloomreachBadRequest { constructor(error) { super(error); } } exports.BloomreachSuppressionList = BloomreachSuppressionList; class BloomReachRateLimited extends BloomreachError { constructor(error) { super(error); } } exports.BloomReachRateLimited = BloomReachRateLimited; class BloomreachContextDeadlineExceeded extends BloomreachError { constructor(error) { super(error); } } exports.BloomreachContextDeadlineExceeded = BloomreachContextDeadlineExceeded; const buildMessage = (error) => { const statusCode = error.response?.status; const statusText = error.response?.statusText; const response = error.response?.data ?? error.message; return `${statusCode} - ${statusText} - ${JSON.stringify(response, null, 2)}`; };