UNPKG

@rudderstack/integrations-lib

Version:
28 lines 4.57 kB
"use strict"; 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=