@ardrive/turbo-sdk 1.0.0-alpha.13 → 1.0.0-alpha.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/web.bundle.min.js +271 -33
- package/lib/cjs/utils/axiosClient.js +14 -8
- package/lib/esm/utils/axiosClient.js +14 -8
- package/lib/types/common/http.d.ts +2 -2
- package/lib/types/common/http.d.ts.map +1 -1
- package/lib/types/types.d.ts +2 -2
- package/lib/types/types.d.ts.map +1 -1
- package/lib/types/utils/axiosClient.d.ts +2 -2
- package/lib/types/utils/axiosClient.d.ts.map +1 -1
- package/package.json +2 -2
@@ -1888,6 +1888,48 @@ var init_shim = __esm({
|
|
1888
1888
|
}
|
1889
1889
|
});
|
1890
1890
|
|
1891
|
+
// node_modules/is-retry-allowed/index.js
|
1892
|
+
var require_is_retry_allowed = __commonJS({
|
1893
|
+
"node_modules/is-retry-allowed/index.js"(exports, module) {
|
1894
|
+
"use strict";
|
1895
|
+
init_shim();
|
1896
|
+
var denyList = /* @__PURE__ */ new Set([
|
1897
|
+
"ENOTFOUND",
|
1898
|
+
"ENETUNREACH",
|
1899
|
+
// SSL errors from https://github.com/nodejs/node/blob/fc8e3e2cdc521978351de257030db0076d79e0ab/src/crypto/crypto_common.cc#L301-L328
|
1900
|
+
"UNABLE_TO_GET_ISSUER_CERT",
|
1901
|
+
"UNABLE_TO_GET_CRL",
|
1902
|
+
"UNABLE_TO_DECRYPT_CERT_SIGNATURE",
|
1903
|
+
"UNABLE_TO_DECRYPT_CRL_SIGNATURE",
|
1904
|
+
"UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY",
|
1905
|
+
"CERT_SIGNATURE_FAILURE",
|
1906
|
+
"CRL_SIGNATURE_FAILURE",
|
1907
|
+
"CERT_NOT_YET_VALID",
|
1908
|
+
"CERT_HAS_EXPIRED",
|
1909
|
+
"CRL_NOT_YET_VALID",
|
1910
|
+
"CRL_HAS_EXPIRED",
|
1911
|
+
"ERROR_IN_CERT_NOT_BEFORE_FIELD",
|
1912
|
+
"ERROR_IN_CERT_NOT_AFTER_FIELD",
|
1913
|
+
"ERROR_IN_CRL_LAST_UPDATE_FIELD",
|
1914
|
+
"ERROR_IN_CRL_NEXT_UPDATE_FIELD",
|
1915
|
+
"OUT_OF_MEM",
|
1916
|
+
"DEPTH_ZERO_SELF_SIGNED_CERT",
|
1917
|
+
"SELF_SIGNED_CERT_IN_CHAIN",
|
1918
|
+
"UNABLE_TO_GET_ISSUER_CERT_LOCALLY",
|
1919
|
+
"UNABLE_TO_VERIFY_LEAF_SIGNATURE",
|
1920
|
+
"CERT_CHAIN_TOO_LONG",
|
1921
|
+
"CERT_REVOKED",
|
1922
|
+
"INVALID_CA",
|
1923
|
+
"PATH_LENGTH_EXCEEDED",
|
1924
|
+
"INVALID_PURPOSE",
|
1925
|
+
"CERT_UNTRUSTED",
|
1926
|
+
"CERT_REJECTED",
|
1927
|
+
"HOSTNAME_MISMATCH"
|
1928
|
+
]);
|
1929
|
+
module.exports = (error) => !denyList.has(error && error.code);
|
1930
|
+
}
|
1931
|
+
});
|
1932
|
+
|
1891
1933
|
// node_modules/base64url/dist/pad-string.js
|
1892
1934
|
var require_pad_string = __commonJS({
|
1893
1935
|
"node_modules/base64url/dist/pad-string.js"(exports) {
|
@@ -4253,7 +4295,7 @@ var require_buffer_list = __commonJS({
|
|
4253
4295
|
"node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports, module) {
|
4254
4296
|
"use strict";
|
4255
4297
|
init_shim();
|
4256
|
-
function
|
4298
|
+
function ownKeys2(object, enumerableOnly) {
|
4257
4299
|
var keys = Object.keys(object);
|
4258
4300
|
if (Object.getOwnPropertySymbols) {
|
4259
4301
|
var symbols = Object.getOwnPropertySymbols(object);
|
@@ -4263,18 +4305,18 @@ var require_buffer_list = __commonJS({
|
|
4263
4305
|
}
|
4264
4306
|
return keys;
|
4265
4307
|
}
|
4266
|
-
function
|
4308
|
+
function _objectSpread2(target) {
|
4267
4309
|
for (var i = 1; i < arguments.length; i++) {
|
4268
4310
|
var source = null != arguments[i] ? arguments[i] : {};
|
4269
|
-
i % 2 ?
|
4270
|
-
|
4271
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) :
|
4311
|
+
i % 2 ? ownKeys2(Object(source), true).forEach(function(key2) {
|
4312
|
+
_defineProperty2(target, key2, source[key2]);
|
4313
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys2(Object(source)).forEach(function(key2) {
|
4272
4314
|
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
|
4273
4315
|
});
|
4274
4316
|
}
|
4275
4317
|
return target;
|
4276
4318
|
}
|
4277
|
-
function
|
4319
|
+
function _defineProperty2(obj, key2, value) {
|
4278
4320
|
key2 = _toPropertyKey(key2);
|
4279
4321
|
if (key2 in obj) {
|
4280
4322
|
Object.defineProperty(obj, key2, { value, enumerable: true, configurable: true, writable: true });
|
@@ -4498,7 +4540,7 @@ var require_buffer_list = __commonJS({
|
|
4498
4540
|
}, {
|
4499
4541
|
key: custom,
|
4500
4542
|
value: function value(_, options) {
|
4501
|
-
return inspect4(this,
|
4543
|
+
return inspect4(this, _objectSpread2(_objectSpread2({}, options), {}, {
|
4502
4544
|
// Only inspect one level.
|
4503
4545
|
depth: 0,
|
4504
4546
|
// It should not recurse.
|
@@ -5752,7 +5794,7 @@ var require_async_iterator = __commonJS({
|
|
5752
5794
|
"use strict";
|
5753
5795
|
init_shim();
|
5754
5796
|
var _Object$setPrototypeO;
|
5755
|
-
function
|
5797
|
+
function _defineProperty2(obj, key2, value) {
|
5756
5798
|
key2 = _toPropertyKey(key2);
|
5757
5799
|
if (key2 in obj) {
|
5758
5800
|
Object.defineProperty(obj, key2, { value, enumerable: true, configurable: true, writable: true });
|
@@ -5857,9 +5899,9 @@ var require_async_iterator = __commonJS({
|
|
5857
5899
|
this[kLastPromise] = promise;
|
5858
5900
|
return promise;
|
5859
5901
|
}
|
5860
|
-
},
|
5902
|
+
}, _defineProperty2(_Object$setPrototypeO, Symbol.asyncIterator, function() {
|
5861
5903
|
return this;
|
5862
|
-
}),
|
5904
|
+
}), _defineProperty2(_Object$setPrototypeO, "return", function _return() {
|
5863
5905
|
var _this2 = this;
|
5864
5906
|
return new Promise(function(resolve, reject) {
|
5865
5907
|
_this2[kStream].destroy(null, function(err) {
|
@@ -5873,22 +5915,22 @@ var require_async_iterator = __commonJS({
|
|
5873
5915
|
}), _Object$setPrototypeO), AsyncIteratorPrototype);
|
5874
5916
|
var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator2(stream) {
|
5875
5917
|
var _Object$create;
|
5876
|
-
var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {},
|
5918
|
+
var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty2(_Object$create, kStream, {
|
5877
5919
|
value: stream,
|
5878
5920
|
writable: true
|
5879
|
-
}),
|
5921
|
+
}), _defineProperty2(_Object$create, kLastResolve, {
|
5880
5922
|
value: null,
|
5881
5923
|
writable: true
|
5882
|
-
}),
|
5924
|
+
}), _defineProperty2(_Object$create, kLastReject, {
|
5883
5925
|
value: null,
|
5884
5926
|
writable: true
|
5885
|
-
}),
|
5927
|
+
}), _defineProperty2(_Object$create, kError, {
|
5886
5928
|
value: null,
|
5887
5929
|
writable: true
|
5888
|
-
}),
|
5930
|
+
}), _defineProperty2(_Object$create, kEnded, {
|
5889
5931
|
value: stream._readableState.endEmitted,
|
5890
5932
|
writable: true
|
5891
|
-
}),
|
5933
|
+
}), _defineProperty2(_Object$create, kHandlePromise, {
|
5892
5934
|
value: function value(resolve, reject) {
|
5893
5935
|
var data = iterator[kStream].read();
|
5894
5936
|
if (data) {
|
@@ -47063,24 +47105,221 @@ var {
|
|
47063
47105
|
mergeConfig: mergeConfig2
|
47064
47106
|
} = axios_default;
|
47065
47107
|
|
47066
|
-
// node_modules/retry
|
47108
|
+
// node_modules/axios-retry/lib/esm/index.js
|
47067
47109
|
init_shim();
|
47068
|
-
|
47069
|
-
|
47070
|
-
|
47110
|
+
var import_is_retry_allowed = __toESM(require_is_retry_allowed(), 1);
|
47111
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key2, arg) {
|
47112
|
+
try {
|
47113
|
+
var info = gen[key2](arg);
|
47114
|
+
var value = info.value;
|
47115
|
+
} catch (error) {
|
47116
|
+
reject(error);
|
47117
|
+
return;
|
47118
|
+
}
|
47119
|
+
if (info.done) {
|
47120
|
+
resolve(value);
|
47121
|
+
} else {
|
47122
|
+
Promise.resolve(value).then(_next, _throw);
|
47071
47123
|
}
|
47072
|
-
return;
|
47073
47124
|
}
|
47125
|
+
function _asyncToGenerator(fn) {
|
47126
|
+
return function() {
|
47127
|
+
var self2 = this, args = arguments;
|
47128
|
+
return new Promise(function(resolve, reject) {
|
47129
|
+
var gen = fn.apply(self2, args);
|
47130
|
+
function _next(value) {
|
47131
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
47132
|
+
}
|
47133
|
+
function _throw(err) {
|
47134
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
47135
|
+
}
|
47136
|
+
_next(void 0);
|
47137
|
+
});
|
47138
|
+
};
|
47139
|
+
}
|
47140
|
+
function ownKeys(object, enumerableOnly) {
|
47141
|
+
var keys = Object.keys(object);
|
47142
|
+
if (Object.getOwnPropertySymbols) {
|
47143
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
47144
|
+
if (enumerableOnly) {
|
47145
|
+
symbols = symbols.filter(function(sym) {
|
47146
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
47147
|
+
});
|
47148
|
+
}
|
47149
|
+
keys.push.apply(keys, symbols);
|
47150
|
+
}
|
47151
|
+
return keys;
|
47152
|
+
}
|
47153
|
+
function _objectSpread(target) {
|
47154
|
+
for (var i = 1; i < arguments.length; i++) {
|
47155
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
47156
|
+
if (i % 2) {
|
47157
|
+
ownKeys(Object(source), true).forEach(function(key2) {
|
47158
|
+
_defineProperty(target, key2, source[key2]);
|
47159
|
+
});
|
47160
|
+
} else if (Object.getOwnPropertyDescriptors) {
|
47161
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
47162
|
+
} else {
|
47163
|
+
ownKeys(Object(source)).forEach(function(key2) {
|
47164
|
+
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
|
47165
|
+
});
|
47166
|
+
}
|
47167
|
+
}
|
47168
|
+
return target;
|
47169
|
+
}
|
47170
|
+
function _defineProperty(obj, key2, value) {
|
47171
|
+
if (key2 in obj) {
|
47172
|
+
Object.defineProperty(obj, key2, { value, enumerable: true, configurable: true, writable: true });
|
47173
|
+
} else {
|
47174
|
+
obj[key2] = value;
|
47175
|
+
}
|
47176
|
+
return obj;
|
47177
|
+
}
|
47178
|
+
var namespace = "axios-retry";
|
47179
|
+
function isNetworkError(error) {
|
47180
|
+
return !error.response && Boolean(error.code) && // Prevents retrying cancelled requests
|
47181
|
+
error.code !== "ECONNABORTED" && // Prevents retrying timed out requests
|
47182
|
+
(0, import_is_retry_allowed.default)(error);
|
47183
|
+
}
|
47184
|
+
var SAFE_HTTP_METHODS = ["get", "head", "options"];
|
47185
|
+
var IDEMPOTENT_HTTP_METHODS = SAFE_HTTP_METHODS.concat(["put", "delete"]);
|
47186
|
+
function isRetryableError(error) {
|
47187
|
+
return error.code !== "ECONNABORTED" && (!error.response || error.response.status >= 500 && error.response.status <= 599);
|
47188
|
+
}
|
47189
|
+
function isSafeRequestError(error) {
|
47190
|
+
if (!error.config) {
|
47191
|
+
return false;
|
47192
|
+
}
|
47193
|
+
return isRetryableError(error) && SAFE_HTTP_METHODS.indexOf(error.config.method) !== -1;
|
47194
|
+
}
|
47195
|
+
function isIdempotentRequestError(error) {
|
47196
|
+
if (!error.config) {
|
47197
|
+
return false;
|
47198
|
+
}
|
47199
|
+
return isRetryableError(error) && IDEMPOTENT_HTTP_METHODS.indexOf(error.config.method) !== -1;
|
47200
|
+
}
|
47201
|
+
function isNetworkOrIdempotentRequestError(error) {
|
47202
|
+
return isNetworkError(error) || isIdempotentRequestError(error);
|
47203
|
+
}
|
47204
|
+
function noDelay() {
|
47205
|
+
return 0;
|
47206
|
+
}
|
47207
|
+
function exponentialDelay() {
|
47208
|
+
var retryNumber = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
|
47209
|
+
var error = arguments.length > 1 ? arguments[1] : void 0;
|
47210
|
+
var delayFactor = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 100;
|
47211
|
+
var delay = Math.pow(2, retryNumber) * delayFactor;
|
47212
|
+
var randomSum = delay * 0.2 * Math.random();
|
47213
|
+
return delay + randomSum;
|
47214
|
+
}
|
47215
|
+
function getCurrentState(config) {
|
47216
|
+
var currentState = config[namespace] || {};
|
47217
|
+
currentState.retryCount = currentState.retryCount || 0;
|
47218
|
+
config[namespace] = currentState;
|
47219
|
+
return currentState;
|
47220
|
+
}
|
47221
|
+
function getRequestOptions(config, defaultOptions) {
|
47222
|
+
return _objectSpread(_objectSpread({}, defaultOptions), config[namespace]);
|
47223
|
+
}
|
47224
|
+
function fixConfig(axios2, config) {
|
47225
|
+
if (axios2.defaults.agent === config.agent) {
|
47226
|
+
delete config.agent;
|
47227
|
+
}
|
47228
|
+
if (axios2.defaults.httpAgent === config.httpAgent) {
|
47229
|
+
delete config.httpAgent;
|
47230
|
+
}
|
47231
|
+
if (axios2.defaults.httpsAgent === config.httpsAgent) {
|
47232
|
+
delete config.httpsAgent;
|
47233
|
+
}
|
47234
|
+
}
|
47235
|
+
function shouldRetry(_x, _x2, _x3, _x4) {
|
47236
|
+
return _shouldRetry.apply(this, arguments);
|
47237
|
+
}
|
47238
|
+
function _shouldRetry() {
|
47239
|
+
_shouldRetry = _asyncToGenerator(function* (retries, retryCondition, currentState, error) {
|
47240
|
+
var shouldRetryOrPromise = currentState.retryCount < retries && retryCondition(error);
|
47241
|
+
if (typeof shouldRetryOrPromise === "object") {
|
47242
|
+
try {
|
47243
|
+
var shouldRetryPromiseResult = yield shouldRetryOrPromise;
|
47244
|
+
return shouldRetryPromiseResult !== false;
|
47245
|
+
} catch (_err) {
|
47246
|
+
return false;
|
47247
|
+
}
|
47248
|
+
}
|
47249
|
+
return shouldRetryOrPromise;
|
47250
|
+
});
|
47251
|
+
return _shouldRetry.apply(this, arguments);
|
47252
|
+
}
|
47253
|
+
function axiosRetry(axios2, defaultOptions) {
|
47254
|
+
var requestInterceptorId = axios2.interceptors.request.use((config) => {
|
47255
|
+
var currentState = getCurrentState(config);
|
47256
|
+
currentState.lastRequestTime = Date.now();
|
47257
|
+
return config;
|
47258
|
+
});
|
47259
|
+
var responseInterceptorId = axios2.interceptors.response.use(null, /* @__PURE__ */ function() {
|
47260
|
+
var _ref = _asyncToGenerator(function* (error) {
|
47261
|
+
var {
|
47262
|
+
config
|
47263
|
+
} = error;
|
47264
|
+
if (!config) {
|
47265
|
+
return Promise.reject(error);
|
47266
|
+
}
|
47267
|
+
var {
|
47268
|
+
retries = 3,
|
47269
|
+
retryCondition = isNetworkOrIdempotentRequestError,
|
47270
|
+
retryDelay = noDelay,
|
47271
|
+
shouldResetTimeout = false,
|
47272
|
+
onRetry = () => {
|
47273
|
+
}
|
47274
|
+
} = getRequestOptions(config, defaultOptions);
|
47275
|
+
var currentState = getCurrentState(config);
|
47276
|
+
if (yield shouldRetry(retries, retryCondition, currentState, error)) {
|
47277
|
+
currentState.retryCount += 1;
|
47278
|
+
var delay = retryDelay(currentState.retryCount, error);
|
47279
|
+
fixConfig(axios2, config);
|
47280
|
+
if (!shouldResetTimeout && config.timeout && currentState.lastRequestTime) {
|
47281
|
+
var lastRequestDuration = Date.now() - currentState.lastRequestTime;
|
47282
|
+
var timeout = config.timeout - lastRequestDuration - delay;
|
47283
|
+
if (timeout <= 0) {
|
47284
|
+
return Promise.reject(error);
|
47285
|
+
}
|
47286
|
+
config.timeout = timeout;
|
47287
|
+
}
|
47288
|
+
config.transformRequest = [(data) => data];
|
47289
|
+
onRetry(currentState.retryCount, error, config);
|
47290
|
+
return new Promise((resolve) => setTimeout(() => resolve(axios2(config)), delay));
|
47291
|
+
}
|
47292
|
+
return Promise.reject(error);
|
47293
|
+
});
|
47294
|
+
return function(_x5) {
|
47295
|
+
return _ref.apply(this, arguments);
|
47296
|
+
};
|
47297
|
+
}());
|
47298
|
+
return {
|
47299
|
+
requestInterceptorId,
|
47300
|
+
responseInterceptorId
|
47301
|
+
};
|
47302
|
+
}
|
47303
|
+
axiosRetry.isNetworkError = isNetworkError;
|
47304
|
+
axiosRetry.isSafeRequestError = isSafeRequestError;
|
47305
|
+
axiosRetry.isIdempotentRequestError = isIdempotentRequestError;
|
47306
|
+
axiosRetry.isNetworkOrIdempotentRequestError = isNetworkOrIdempotentRequestError;
|
47307
|
+
axiosRetry.exponentialDelay = exponentialDelay;
|
47308
|
+
axiosRetry.isRetryableError = isRetryableError;
|
47074
47309
|
|
47075
47310
|
// src/utils/axiosClient.ts
|
47076
47311
|
var createAxiosInstance = ({
|
47077
47312
|
axiosConfig = {},
|
47078
47313
|
retryConfig = {
|
47079
|
-
|
47080
|
-
|
47081
|
-
|
47082
|
-
|
47083
|
-
|
47314
|
+
retryDelay: axiosRetry.exponentialDelay,
|
47315
|
+
retries: 3,
|
47316
|
+
retryCondition: (error) => {
|
47317
|
+
return !(error instanceof CanceledError2) && axiosRetry.isNetworkOrIdempotentRequestError(error);
|
47318
|
+
},
|
47319
|
+
onRetry: (retryCount, error) => {
|
47320
|
+
console.debug(
|
47321
|
+
`Request failed, ${error}. Retry attempt #${retryCount}...`
|
47322
|
+
);
|
47084
47323
|
}
|
47085
47324
|
}
|
47086
47325
|
}) => {
|
@@ -47089,10 +47328,9 @@ var createAxiosInstance = ({
|
|
47089
47328
|
validateStatus: () => true
|
47090
47329
|
// don't throw on non-200 status codes
|
47091
47330
|
});
|
47092
|
-
|
47093
|
-
|
47094
|
-
|
47095
|
-
};
|
47331
|
+
if (retryConfig.retries && retryConfig.retries > 0) {
|
47332
|
+
axiosRetry(axiosInstance, retryConfig);
|
47333
|
+
}
|
47096
47334
|
return axiosInstance;
|
47097
47335
|
};
|
47098
47336
|
|
@@ -47402,8 +47640,8 @@ init_shim();
|
|
47402
47640
|
init_shim();
|
47403
47641
|
|
47404
47642
|
// node_modules/arbundles/build/web/esm/src/index.js
|
47405
|
-
var
|
47406
|
-
__export(
|
47643
|
+
var src_exports = {};
|
47644
|
+
__export(src_exports, {
|
47407
47645
|
AVSCTap: () => AVSCTap,
|
47408
47646
|
AlgorandSigner: () => AlgorandSigner,
|
47409
47647
|
AptosSigner: () => AptosSigner,
|
@@ -55299,7 +55537,7 @@ var streamExportForTesting = {
|
|
55299
55537
|
};
|
55300
55538
|
|
55301
55539
|
// node_modules/arbundles/build/web/esm/webIndex.js
|
55302
|
-
var expObj = { ...
|
55540
|
+
var expObj = { ...src_exports, stream: stream_exports };
|
55303
55541
|
globalThis.arbundles ??= expObj;
|
55304
55542
|
|
55305
55543
|
// src/web/signer.ts
|
@@ -43,18 +43,24 @@ exports.createAxiosInstance = void 0;
|
|
43
43
|
* You should have received a copy of the GNU Affero General Public License
|
44
44
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
45
45
|
*/
|
46
|
-
const axios_1 =
|
47
|
-
const
|
46
|
+
const axios_1 = __importStar(require("axios"));
|
47
|
+
const axios_retry_1 = __importDefault(require("axios-retry"));
|
48
48
|
const createAxiosInstance = ({ axiosConfig = {}, retryConfig = {
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
49
|
+
retryDelay: axios_retry_1.default.exponentialDelay,
|
50
|
+
retries: 3,
|
51
|
+
retryCondition: (error) => {
|
52
|
+
return (!(error instanceof axios_1.CanceledError) &&
|
53
|
+
axios_retry_1.default.isNetworkOrIdempotentRequestError(error));
|
54
|
+
},
|
55
|
+
onRetry: (retryCount, error) => {
|
56
|
+
console.debug(`Request failed, ${error}. Retry attempt #${retryCount}...`);
|
54
57
|
},
|
55
58
|
}, }) => {
|
56
59
|
const axiosInstance = axios_1.default.create(Object.assign(Object.assign({}, axiosConfig), { validateStatus: () => true }));
|
57
|
-
|
60
|
+
// eslint-disable-next-line
|
61
|
+
if (retryConfig.retries && retryConfig.retries > 0) {
|
62
|
+
(0, axios_retry_1.default)(axiosInstance, retryConfig);
|
63
|
+
}
|
58
64
|
return axiosInstance;
|
59
65
|
};
|
60
66
|
exports.createAxiosInstance = createAxiosInstance;
|
@@ -14,17 +14,23 @@
|
|
14
14
|
* You should have received a copy of the GNU Affero General Public License
|
15
15
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
16
16
|
*/
|
17
|
-
import axios from 'axios';
|
18
|
-
import
|
17
|
+
import axios, { CanceledError } from 'axios';
|
18
|
+
import axiosRetry from 'axios-retry';
|
19
19
|
export const createAxiosInstance = ({ axiosConfig = {}, retryConfig = {
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
20
|
+
retryDelay: axiosRetry.exponentialDelay,
|
21
|
+
retries: 3,
|
22
|
+
retryCondition: (error) => {
|
23
|
+
return (!(error instanceof CanceledError) &&
|
24
|
+
axiosRetry.isNetworkOrIdempotentRequestError(error));
|
25
|
+
},
|
26
|
+
onRetry: (retryCount, error) => {
|
27
|
+
console.debug(`Request failed, ${error}. Retry attempt #${retryCount}...`);
|
25
28
|
},
|
26
29
|
}, }) => {
|
27
30
|
const axiosInstance = axios.create(Object.assign(Object.assign({}, axiosConfig), { validateStatus: () => true }));
|
28
|
-
|
31
|
+
// eslint-disable-next-line
|
32
|
+
if (retryConfig.retries && retryConfig.retries > 0) {
|
33
|
+
axiosRetry(axiosInstance, retryConfig);
|
34
|
+
}
|
29
35
|
return axiosInstance;
|
30
36
|
};
|
@@ -18,7 +18,7 @@
|
|
18
18
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
19
19
|
*/
|
20
20
|
import { AxiosInstance } from 'axios';
|
21
|
-
import {
|
21
|
+
import { IAxiosRetryConfig } from 'axios-retry';
|
22
22
|
import { Readable } from 'stream';
|
23
23
|
import { ReadableStream } from 'stream/web';
|
24
24
|
import { TurboHTTPServiceInterface, TurboSignedRequestHeaders } from '../types.js';
|
@@ -26,7 +26,7 @@ export declare class TurboHTTPService implements TurboHTTPServiceInterface {
|
|
26
26
|
protected axios: AxiosInstance;
|
27
27
|
constructor({ url, retryConfig, }: {
|
28
28
|
url: string;
|
29
|
-
retryConfig?:
|
29
|
+
retryConfig?: IAxiosRetryConfig;
|
30
30
|
});
|
31
31
|
get<T>({ endpoint, signal, allowedStatuses, headers, }: {
|
32
32
|
endpoint: string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/common/http.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/common/http.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AAIrB,qBAAa,gBAAiB,YAAW,yBAAyB;IAChE,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC;gBACnB,EACV,GAAG,EACH,WAAW,GACZ,EAAE;QACD,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,iBAAiB,CAAC;KACjC;IAQK,GAAG,CAAC,CAAC,EAAE,EACX,QAAQ,EACR,MAAM,EACN,eAA4B,EAC5B,OAAO,GACR,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACvE,GAAG,OAAO,CAAC,CAAC,CAAC;IAaR,IAAI,CAAC,CAAC,EAAE,EACZ,QAAQ,EACR,MAAM,EACN,eAA4B,EAC5B,OAAO,EACP,IAAI,GACL,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,cAAc,CAAC;KAC1C,GAAG,OAAO,CAAC,CAAC,CAAC;CAgBf"}
|
package/lib/types/types.d.ts
CHANGED
@@ -17,9 +17,9 @@
|
|
17
17
|
* You should have received a copy of the GNU Affero General Public License
|
18
18
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
19
19
|
*/
|
20
|
+
import { IAxiosRetryConfig } from 'axios-retry';
|
20
21
|
import { Readable } from 'node:stream';
|
21
22
|
import { ReadableStream } from 'node:stream/web';
|
22
|
-
import { RetryConfig } from 'retry-axios';
|
23
23
|
import winston from 'winston';
|
24
24
|
import { JWKInterface } from './common/jwk.js';
|
25
25
|
export type Base64String = string;
|
@@ -66,7 +66,7 @@ type TurboAuthConfiguration = {
|
|
66
66
|
};
|
67
67
|
type TurboServiceConfiguration = {
|
68
68
|
url?: string;
|
69
|
-
retryConfig?:
|
69
|
+
retryConfig?: IAxiosRetryConfig;
|
70
70
|
logger?: winston.Logger;
|
71
71
|
};
|
72
72
|
export type TurboUnauthenticatedUploadServiceInterfaceConfiguration = TurboServiceConfiguration;
|
package/lib/types/types.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
@@ -15,10 +15,10 @@
|
|
15
15
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
16
16
|
*/
|
17
17
|
import { AxiosInstance, AxiosRequestConfig } from 'axios';
|
18
|
-
import
|
18
|
+
import { IAxiosRetryConfig } from 'axios-retry';
|
19
19
|
export interface AxiosInstanceParameters {
|
20
20
|
axiosConfig?: Omit<AxiosRequestConfig, 'validateStatus'>;
|
21
|
-
retryConfig?:
|
21
|
+
retryConfig?: IAxiosRetryConfig;
|
22
22
|
}
|
23
23
|
export declare const createAxiosInstance: ({ axiosConfig, retryConfig, }: AxiosInstanceParameters) => AxiosInstance;
|
24
24
|
//# sourceMappingURL=axiosClient.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"axiosClient.d.ts","sourceRoot":"","sources":["../../../src/utils/axiosClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAc,EAAE,aAAa,EAAE,kBAAkB,
|
1
|
+
{"version":3,"file":"axiosClient.d.ts","sourceRoot":"","sources":["../../../src/utils/axiosClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAc,EAAE,aAAa,EAAE,kBAAkB,EAAiB,MAAM,OAAO,CAAC;AAChF,OAAmB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE5D,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IACzD,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;AAED,eAAO,MAAM,mBAAmB,kCAiB7B,uBAAuB,KAAG,aAU5B,CAAC"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@ardrive/turbo-sdk",
|
3
|
-
"version": "1.0.0-alpha.
|
3
|
+
"version": "1.0.0-alpha.14",
|
4
4
|
"type": "module",
|
5
5
|
"main": "./lib/cjs/node/index.js",
|
6
6
|
"types": "./lib/types/node/index.d.ts",
|
@@ -66,7 +66,7 @@
|
|
66
66
|
"arbundles": "^0.9.9",
|
67
67
|
"arweave": "^1.14.4",
|
68
68
|
"axios": "^1.4.0",
|
69
|
-
"retry
|
69
|
+
"axios-retry": "^3.7.0",
|
70
70
|
"winston": "^3.10.0"
|
71
71
|
},
|
72
72
|
"devDependencies": {
|