bloomreach-transactional-email
Version:
A nonofficial, feature complete, client library for sending transactional emails via Bloomreach.
63 lines (62 loc) • 2.09 kB
JavaScript
;
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)}`;
};