@rudderstack/integrations-lib
Version:
28 lines • 4.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NetworkError = void 0;
const tags_1 = require("../tags");
const base_1 = require("./base");
const errorTypes = Object.values(tags_1.ERROR_TYPES);
const metaTypes = Object.values(tags_1.METADATA);
// To throw error when error type (abort, retry or throttle) has to be dynamically deduced
class NetworkError extends base_1.BaseError {
constructor(message, statusCode, statTags = {}, destResponse = undefined, authErrorCategory = undefined) {
const finalStatTags = {
[tags_1.TAG_NAMES.ERROR_CATEGORY]: tags_1.ERROR_CATEGORIES.NETWORK,
[tags_1.TAG_NAMES.ERROR_TYPE]: tags_1.ERROR_TYPES.ABORTED,
};
// Allow specifying only error type and meta tags
if (statTags && typeof statTags === 'object' && !Array.isArray(statTags)) {
if (errorTypes.includes(statTags[tags_1.TAG_NAMES.ERROR_TYPE])) {
finalStatTags[tags_1.TAG_NAMES.ERROR_TYPE] = statTags[tags_1.TAG_NAMES.ERROR_TYPE];
}
if (metaTypes.includes(statTags[tags_1.TAG_NAMES.META])) {
finalStatTags[tags_1.TAG_NAMES.META] = statTags[tags_1.TAG_NAMES.META];
}
}
super(message, statusCode || 400, finalStatTags, destResponse, authErrorCategory);
}
}
exports.NetworkError = NetworkError;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya19lcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lcnJvcnMvbmV0d29ya19lcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrQ0FBNkU7QUFDN0UsaUNBQW1DO0FBRW5DLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsa0JBQVcsQ0FBQyxDQUFDO0FBQzlDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBUSxDQUFDLENBQUM7QUFDMUMsMEZBQTBGO0FBQzFGLE1BQWEsWUFBYSxTQUFRLGdCQUFTO0lBQ3pDLFlBQ0UsT0FBZSxFQUNmLFVBQWtCLEVBQ2xCLFdBQW9DLEVBQUUsRUFDdEMsZUFBZ0MsU0FBUyxFQUN6QyxvQkFBd0MsU0FBUztRQUVqRCxNQUFNLGFBQWEsR0FBRztZQUNwQixDQUFDLGdCQUFTLENBQUMsY0FBYyxDQUFDLEVBQUUsdUJBQWdCLENBQUMsT0FBTztZQUNwRCxDQUFDLGdCQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsa0JBQVcsQ0FBQyxPQUFPO1NBQzVDLENBQUM7UUFFRixpREFBaUQ7UUFDakQsSUFBSSxRQUFRLElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3pFLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsZ0JBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hELGFBQWEsQ0FBQyxnQkFBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxnQkFBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3ZFLENBQUM7WUFFRCxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGdCQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNqRCxhQUFhLENBQUMsZ0JBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsZ0JBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzRCxDQUFDO1FBQ0gsQ0FBQztRQUVELEtBQUssQ0FBQyxPQUFPLEVBQUUsVUFBVSxJQUFJLEdBQUcsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDcEYsQ0FBQztDQUNGO0FBMUJELG9DQTBCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVSUk9SX1RZUEVTLCBNRVRBREFUQSwgVEFHX05BTUVTLCBFUlJPUl9DQVRFR09SSUVTIH0gZnJvbSAnLi4vdGFncyc7XG5pbXBvcnQgeyBCYXNlRXJyb3IgfSBmcm9tICcuL2Jhc2UnO1xuXG5jb25zdCBlcnJvclR5cGVzID0gT2JqZWN0LnZhbHVlcyhFUlJPUl9UWVBFUyk7XG5jb25zdCBtZXRhVHlwZXMgPSBPYmplY3QudmFsdWVzKE1FVEFEQVRBKTtcbi8vIFRvIHRocm93IGVycm9yIHdoZW4gZXJyb3IgdHlwZSAoYWJvcnQsIHJldHJ5IG9yIHRocm90dGxlKSBoYXMgdG8gYmUgZHluYW1pY2FsbHkgZGVkdWNlZFxuZXhwb3J0IGNsYXNzIE5ldHdvcmtFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBzdGF0dXNDb2RlOiBudW1iZXIsXG4gICAgc3RhdFRhZ3M6IHsgW3g6IHN0cmluZ106IHN0cmluZyB9ID0ge30sXG4gICAgZGVzdFJlc3BvbnNlOiBhbnkgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gICAgYXV0aEVycm9yQ2F0ZWdvcnk6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgKSB7XG4gICAgY29uc3QgZmluYWxTdGF0VGFncyA9IHtcbiAgICAgIFtUQUdfTkFNRVMuRVJST1JfQ0FURUdPUlldOiBFUlJPUl9DQVRFR09SSUVTLk5FVFdPUkssXG4gICAgICBbVEFHX05BTUVTLkVSUk9SX1RZUEVdOiBFUlJPUl9UWVBFUy5BQk9SVEVELFxuICAgIH07XG5cbiAgICAvLyBBbGxvdyBzcGVjaWZ5aW5nIG9ubHkgZXJyb3IgdHlwZSBhbmQgbWV0YSB0YWdzXG4gICAgaWYgKHN0YXRUYWdzICYmIHR5cGVvZiBzdGF0VGFncyA9PT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkoc3RhdFRhZ3MpKSB7XG4gICAgICBpZiAoZXJyb3JUeXBlcy5pbmNsdWRlcyhzdGF0VGFnc1tUQUdfTkFNRVMuRVJST1JfVFlQRV0pKSB7XG4gICAgICAgIGZpbmFsU3RhdFRhZ3NbVEFHX05BTUVTLkVSUk9SX1RZUEVdID0gc3RhdFRhZ3NbVEFHX05BTUVTLkVSUk9SX1RZUEVdO1xuICAgICAgfVxuXG4gICAgICBpZiAobWV0YVR5cGVzLmluY2x1ZGVzKHN0YXRUYWdzW1RBR19OQU1FUy5NRVRBXSkpIHtcbiAgICAgICAgZmluYWxTdGF0VGFnc1tUQUdfTkFNRVMuTUVUQV0gPSBzdGF0VGFnc1tUQUdfTkFNRVMuTUVUQV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3VwZXIobWVzc2FnZSwgc3RhdHVzQ29kZSB8fCA0MDAsIGZpbmFsU3RhdFRhZ3MsIGRlc3RSZXNwb25zZSwgYXV0aEVycm9yQ2F0ZWdvcnkpO1xuICB9XG59XG4iXX0=