rittenhop-dev/versions/5.94.2/node_modules/@aws-sdk/middleware-retry/dist-cjs/configurations.js
2024-09-23 19:40:12 -04:00

59 lines
2.6 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.NODE_RETRY_MODE_CONFIG_OPTIONS = exports.CONFIG_RETRY_MODE = exports.ENV_RETRY_MODE = exports.resolveRetryConfig = exports.NODE_MAX_ATTEMPT_CONFIG_OPTIONS = exports.CONFIG_MAX_ATTEMPTS = exports.ENV_MAX_ATTEMPTS = void 0;
const util_middleware_1 = require("@aws-sdk/util-middleware");
const AdaptiveRetryStrategy_1 = require("./AdaptiveRetryStrategy");
const config_1 = require("./config");
const StandardRetryStrategy_1 = require("./StandardRetryStrategy");
exports.ENV_MAX_ATTEMPTS = "AWS_MAX_ATTEMPTS";
exports.CONFIG_MAX_ATTEMPTS = "max_attempts";
exports.NODE_MAX_ATTEMPT_CONFIG_OPTIONS = {
environmentVariableSelector: (env) => {
const value = env[exports.ENV_MAX_ATTEMPTS];
if (!value)
return undefined;
const maxAttempt = parseInt(value);
if (Number.isNaN(maxAttempt)) {
throw new Error(`Environment variable ${exports.ENV_MAX_ATTEMPTS} mast be a number, got "${value}"`);
}
return maxAttempt;
},
configFileSelector: (profile) => {
const value = profile[exports.CONFIG_MAX_ATTEMPTS];
if (!value)
return undefined;
const maxAttempt = parseInt(value);
if (Number.isNaN(maxAttempt)) {
throw new Error(`Shared config file entry ${exports.CONFIG_MAX_ATTEMPTS} mast be a number, got "${value}"`);
}
return maxAttempt;
},
default: config_1.DEFAULT_MAX_ATTEMPTS,
};
const resolveRetryConfig = (input) => {
var _a;
const maxAttempts = (0, util_middleware_1.normalizeProvider)((_a = input.maxAttempts) !== null && _a !== void 0 ? _a : config_1.DEFAULT_MAX_ATTEMPTS);
return {
...input,
maxAttempts,
retryStrategy: async () => {
if (input.retryStrategy) {
return input.retryStrategy;
}
const retryMode = await (0, util_middleware_1.normalizeProvider)(input.retryMode)();
if (retryMode === config_1.RETRY_MODES.ADAPTIVE) {
return new AdaptiveRetryStrategy_1.AdaptiveRetryStrategy(maxAttempts);
}
return new StandardRetryStrategy_1.StandardRetryStrategy(maxAttempts);
},
};
};
exports.resolveRetryConfig = resolveRetryConfig;
exports.ENV_RETRY_MODE = "AWS_RETRY_MODE";
exports.CONFIG_RETRY_MODE = "retry_mode";
exports.NODE_RETRY_MODE_CONFIG_OPTIONS = {
environmentVariableSelector: (env) => env[exports.ENV_RETRY_MODE],
configFileSelector: (profile) => profile[exports.CONFIG_RETRY_MODE],
default: config_1.DEFAULT_RETRY_MODE,
};