UNPKG

@vtex/api

Version:
36 lines (35 loc) 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.exponentialDelay = exports.isNetworkOrIdempotentRequestError = exports.isAbortedOrNetworkErrorOrRouterTimeout = exports.isNetworkErrorOrRouterTimeout = exports.TIMEOUT_CODE = void 0; const axios_retry_1 = require("axios-retry"); exports.TIMEOUT_CODE = 'ProxyTimeout'; const printLabel = (e, message) => { if (!e || !e.config || !e.config.label) { return; } console.warn(e.config.label, message); }; const isNetworkErrorOrRouterTimeout = (e) => { if ((0, axios_retry_1.isNetworkOrIdempotentRequestError)(e)) { printLabel(e, 'Retry from network error'); return true; } if (e && (0, axios_retry_1.isSafeRequestError)(e) && e.response && e.response.data && e.response.data.code === exports.TIMEOUT_CODE) { printLabel(e, 'Retry from timeout'); return true; } return false; }; exports.isNetworkErrorOrRouterTimeout = isNetworkErrorOrRouterTimeout; // Retry on timeout from our end const isAbortedOrNetworkErrorOrRouterTimeout = (e) => { if (e && e.code === 'ECONNABORTED') { printLabel(e, 'Retry from abort'); return true; } return (0, exports.isNetworkErrorOrRouterTimeout)(e); }; exports.isAbortedOrNetworkErrorOrRouterTimeout = isAbortedOrNetworkErrorOrRouterTimeout; var axios_retry_2 = require("axios-retry"); Object.defineProperty(exports, "isNetworkOrIdempotentRequestError", { enumerable: true, get: function () { return axios_retry_2.isNetworkOrIdempotentRequestError; } }); Object.defineProperty(exports, "exponentialDelay", { enumerable: true, get: function () { return axios_retry_2.exponentialDelay; } });