Skip to content

Commit 9152e21

Browse files
authored
feat(clients): update clients to use default values inferred from defaults mode (#3192)
1 parent 2569d47 commit 9152e21

File tree

1,262 files changed

+11887
-2178
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,262 files changed

+11887
-2178
lines changed

clients/client-accessanalyzer/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@
4242
"@aws-sdk/util-base64-node": "3.46.0",
4343
"@aws-sdk/util-body-length-browser": "3.46.0",
4444
"@aws-sdk/util-body-length-node": "3.46.0",
45+
"@aws-sdk/util-defaults-mode-browser": "3.0.0",
46+
"@aws-sdk/util-defaults-mode-node": "3.0.0",
4547
"@aws-sdk/util-user-agent-browser": "3.46.0",
4648
"@aws-sdk/util-user-agent-node": "3.46.0",
4749
"@aws-sdk/util-utf8-browser": "3.46.0",

clients/client-accessanalyzer/src/AccessAnalyzerClient.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import {
3030
import { HttpHandler as __HttpHandler } from "@aws-sdk/protocol-http";
3131
import {
3232
Client as __Client,
33+
DefaultsMode,
3334
SmithyConfiguration as __SmithyConfiguration,
3435
SmithyResolvedConfiguration as __SmithyResolvedConfiguration,
3536
} from "@aws-sdk/smithy-client";
@@ -283,6 +284,11 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
283284
* @internal
284285
*/
285286
defaultUserAgentProvider?: Provider<__UserAgent>;
287+
288+
/**
289+
* The {@link DefaultsMode} that will be used to determine how certain default configuration options are resolved in the SDK.
290+
*/
291+
defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
286292
}
287293

288294
type AccessAnalyzerClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> &

clients/client-accessanalyzer/src/runtimeConfig.browser.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import packageInfo from "../package.json"; // eslint-disable-line
33

44
import { Sha256 } from "@aws-crypto/sha256-browser";
55
import { DEFAULT_USE_DUALSTACK_ENDPOINT, DEFAULT_USE_FIPS_ENDPOINT } from "@aws-sdk/config-resolver";
6-
import { FetchHttpHandler, streamCollector } from "@aws-sdk/fetch-http-handler";
6+
import { FetchHttpHandler as RequestHandler, streamCollector } from "@aws-sdk/fetch-http-handler";
77
import { invalidProvider } from "@aws-sdk/invalid-dependency";
88
import { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE } from "@aws-sdk/middleware-retry";
99
import { fromBase64, toBase64 } from "@aws-sdk/util-base64-browser";
@@ -12,16 +12,21 @@ import { defaultUserAgent } from "@aws-sdk/util-user-agent-browser";
1212
import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-browser";
1313
import { AccessAnalyzerClientConfig } from "./AccessAnalyzerClient";
1414
import { getRuntimeConfig as getSharedRuntimeConfig } from "./runtimeConfig.shared";
15+
import { loadConfigsForDefaultMode } from "@aws-sdk/smithy-client";
16+
import { resolveDefaultsModeConfig } from "@aws-sdk/util-defaults-mode-browser";
1517

1618
/**
1719
* @internal
1820
*/
1921
export const getRuntimeConfig = (config: AccessAnalyzerClientConfig) => {
22+
const defaultsMode = resolveDefaultsModeConfig(config);
23+
const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);
2024
const clientSharedValues = getSharedRuntimeConfig(config);
2125
return {
2226
...clientSharedValues,
2327
...config,
2428
runtime: "browser",
29+
defaultsMode,
2530
base64Decoder: config?.base64Decoder ?? fromBase64,
2631
base64Encoder: config?.base64Encoder ?? toBase64,
2732
bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,
@@ -32,8 +37,8 @@ export const getRuntimeConfig = (config: AccessAnalyzerClientConfig) => {
3237
defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),
3338
maxAttempts: config?.maxAttempts ?? DEFAULT_MAX_ATTEMPTS,
3439
region: config?.region ?? invalidProvider("Region is missing"),
35-
requestHandler: config?.requestHandler ?? new FetchHttpHandler(),
36-
retryMode: config?.retryMode ?? (() => Promise.resolve(DEFAULT_RETRY_MODE)),
40+
requestHandler: config?.requestHandler ?? new RequestHandler(defaultConfigProvider),
41+
retryMode: config?.retryMode ?? (async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE),
3742
sha256: config?.sha256 ?? Sha256,
3843
streamCollector: config?.streamCollector ?? streamCollector,
3944
useDualstackEndpoint: config?.useDualstackEndpoint ?? (() => Promise.resolve(DEFAULT_USE_DUALSTACK_ENDPOINT)),

clients/client-accessanalyzer/src/runtimeConfig.ts

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,34 @@ import {
1010
} from "@aws-sdk/config-resolver";
1111
import { defaultProvider as credentialDefaultProvider } from "@aws-sdk/credential-provider-node";
1212
import { Hash } from "@aws-sdk/hash-node";
13-
import { NODE_MAX_ATTEMPT_CONFIG_OPTIONS, NODE_RETRY_MODE_CONFIG_OPTIONS } from "@aws-sdk/middleware-retry";
13+
import {
14+
DEFAULT_RETRY_MODE,
15+
NODE_MAX_ATTEMPT_CONFIG_OPTIONS,
16+
NODE_RETRY_MODE_CONFIG_OPTIONS,
17+
} from "@aws-sdk/middleware-retry";
1418
import { loadConfig as loadNodeConfig } from "@aws-sdk/node-config-provider";
15-
import { NodeHttpHandler, streamCollector } from "@aws-sdk/node-http-handler";
19+
import { NodeHttpHandler as RequestHandler, streamCollector } from "@aws-sdk/node-http-handler";
1620
import { fromBase64, toBase64 } from "@aws-sdk/util-base64-node";
1721
import { calculateBodyLength } from "@aws-sdk/util-body-length-node";
1822
import { defaultUserAgent } from "@aws-sdk/util-user-agent-node";
1923
import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-node";
2024
import { AccessAnalyzerClientConfig } from "./AccessAnalyzerClient";
2125
import { getRuntimeConfig as getSharedRuntimeConfig } from "./runtimeConfig.shared";
26+
import { loadConfigsForDefaultMode } from "@aws-sdk/smithy-client";
27+
import { resolveDefaultsModeConfig } from "@aws-sdk/util-defaults-mode-node";
2228

2329
/**
2430
* @internal
2531
*/
2632
export const getRuntimeConfig = (config: AccessAnalyzerClientConfig) => {
33+
const defaultsMode = resolveDefaultsModeConfig(config);
34+
const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);
2735
const clientSharedValues = getSharedRuntimeConfig(config);
2836
return {
2937
...clientSharedValues,
3038
...config,
3139
runtime: "node",
40+
defaultsMode,
3241
base64Decoder: config?.base64Decoder ?? fromBase64,
3342
base64Encoder: config?.base64Encoder ?? toBase64,
3443
bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,
@@ -39,8 +48,13 @@ export const getRuntimeConfig = (config: AccessAnalyzerClientConfig) => {
3948
defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),
4049
maxAttempts: config?.maxAttempts ?? loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS),
4150
region: config?.region ?? loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS),
42-
requestHandler: config?.requestHandler ?? new NodeHttpHandler(),
43-
retryMode: config?.retryMode ?? loadNodeConfig(NODE_RETRY_MODE_CONFIG_OPTIONS),
51+
requestHandler: config?.requestHandler ?? new RequestHandler(defaultConfigProvider),
52+
retryMode:
53+
config?.retryMode ??
54+
loadNodeConfig({
55+
...NODE_RETRY_MODE_CONFIG_OPTIONS,
56+
default: async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE,
57+
}),
4458
sha256: config?.sha256 ?? Hash.bind(null, "sha256"),
4559
streamCollector: config?.streamCollector ?? streamCollector,
4660
useDualstackEndpoint: config?.useDualstackEndpoint ?? loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),

clients/client-account/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@
4242
"@aws-sdk/util-base64-node": "3.46.0",
4343
"@aws-sdk/util-body-length-browser": "3.46.0",
4444
"@aws-sdk/util-body-length-node": "3.46.0",
45+
"@aws-sdk/util-defaults-mode-browser": "3.0.0",
46+
"@aws-sdk/util-defaults-mode-node": "3.0.0",
4547
"@aws-sdk/util-user-agent-browser": "3.46.0",
4648
"@aws-sdk/util-user-agent-node": "3.46.0",
4749
"@aws-sdk/util-utf8-browser": "3.46.0",

clients/client-account/src/AccountClient.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import {
3030
import { HttpHandler as __HttpHandler } from "@aws-sdk/protocol-http";
3131
import {
3232
Client as __Client,
33+
DefaultsMode,
3334
SmithyConfiguration as __SmithyConfiguration,
3435
SmithyResolvedConfiguration as __SmithyResolvedConfiguration,
3536
} from "@aws-sdk/smithy-client";
@@ -193,6 +194,11 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
193194
* @internal
194195
*/
195196
defaultUserAgentProvider?: Provider<__UserAgent>;
197+
198+
/**
199+
* The {@link DefaultsMode} that will be used to determine how certain default configuration options are resolved in the SDK.
200+
*/
201+
defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
196202
}
197203

198204
type AccountClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> &

clients/client-account/src/runtimeConfig.browser.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import packageInfo from "../package.json"; // eslint-disable-line
33

44
import { Sha256 } from "@aws-crypto/sha256-browser";
55
import { DEFAULT_USE_DUALSTACK_ENDPOINT, DEFAULT_USE_FIPS_ENDPOINT } from "@aws-sdk/config-resolver";
6-
import { FetchHttpHandler, streamCollector } from "@aws-sdk/fetch-http-handler";
6+
import { FetchHttpHandler as RequestHandler, streamCollector } from "@aws-sdk/fetch-http-handler";
77
import { invalidProvider } from "@aws-sdk/invalid-dependency";
88
import { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE } from "@aws-sdk/middleware-retry";
99
import { fromBase64, toBase64 } from "@aws-sdk/util-base64-browser";
@@ -12,16 +12,21 @@ import { defaultUserAgent } from "@aws-sdk/util-user-agent-browser";
1212
import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-browser";
1313
import { AccountClientConfig } from "./AccountClient";
1414
import { getRuntimeConfig as getSharedRuntimeConfig } from "./runtimeConfig.shared";
15+
import { loadConfigsForDefaultMode } from "@aws-sdk/smithy-client";
16+
import { resolveDefaultsModeConfig } from "@aws-sdk/util-defaults-mode-browser";
1517

1618
/**
1719
* @internal
1820
*/
1921
export const getRuntimeConfig = (config: AccountClientConfig) => {
22+
const defaultsMode = resolveDefaultsModeConfig(config);
23+
const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);
2024
const clientSharedValues = getSharedRuntimeConfig(config);
2125
return {
2226
...clientSharedValues,
2327
...config,
2428
runtime: "browser",
29+
defaultsMode,
2530
base64Decoder: config?.base64Decoder ?? fromBase64,
2631
base64Encoder: config?.base64Encoder ?? toBase64,
2732
bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,
@@ -32,8 +37,8 @@ export const getRuntimeConfig = (config: AccountClientConfig) => {
3237
defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),
3338
maxAttempts: config?.maxAttempts ?? DEFAULT_MAX_ATTEMPTS,
3439
region: config?.region ?? invalidProvider("Region is missing"),
35-
requestHandler: config?.requestHandler ?? new FetchHttpHandler(),
36-
retryMode: config?.retryMode ?? (() => Promise.resolve(DEFAULT_RETRY_MODE)),
40+
requestHandler: config?.requestHandler ?? new RequestHandler(defaultConfigProvider),
41+
retryMode: config?.retryMode ?? (async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE),
3742
sha256: config?.sha256 ?? Sha256,
3843
streamCollector: config?.streamCollector ?? streamCollector,
3944
useDualstackEndpoint: config?.useDualstackEndpoint ?? (() => Promise.resolve(DEFAULT_USE_DUALSTACK_ENDPOINT)),

clients/client-account/src/runtimeConfig.ts

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,34 @@ import {
1010
} from "@aws-sdk/config-resolver";
1111
import { defaultProvider as credentialDefaultProvider } from "@aws-sdk/credential-provider-node";
1212
import { Hash } from "@aws-sdk/hash-node";
13-
import { NODE_MAX_ATTEMPT_CONFIG_OPTIONS, NODE_RETRY_MODE_CONFIG_OPTIONS } from "@aws-sdk/middleware-retry";
13+
import {
14+
DEFAULT_RETRY_MODE,
15+
NODE_MAX_ATTEMPT_CONFIG_OPTIONS,
16+
NODE_RETRY_MODE_CONFIG_OPTIONS,
17+
} from "@aws-sdk/middleware-retry";
1418
import { loadConfig as loadNodeConfig } from "@aws-sdk/node-config-provider";
15-
import { NodeHttpHandler, streamCollector } from "@aws-sdk/node-http-handler";
19+
import { NodeHttpHandler as RequestHandler, streamCollector } from "@aws-sdk/node-http-handler";
1620
import { fromBase64, toBase64 } from "@aws-sdk/util-base64-node";
1721
import { calculateBodyLength } from "@aws-sdk/util-body-length-node";
1822
import { defaultUserAgent } from "@aws-sdk/util-user-agent-node";
1923
import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-node";
2024
import { AccountClientConfig } from "./AccountClient";
2125
import { getRuntimeConfig as getSharedRuntimeConfig } from "./runtimeConfig.shared";
26+
import { loadConfigsForDefaultMode } from "@aws-sdk/smithy-client";
27+
import { resolveDefaultsModeConfig } from "@aws-sdk/util-defaults-mode-node";
2228

2329
/**
2430
* @internal
2531
*/
2632
export const getRuntimeConfig = (config: AccountClientConfig) => {
33+
const defaultsMode = resolveDefaultsModeConfig(config);
34+
const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);
2735
const clientSharedValues = getSharedRuntimeConfig(config);
2836
return {
2937
...clientSharedValues,
3038
...config,
3139
runtime: "node",
40+
defaultsMode,
3241
base64Decoder: config?.base64Decoder ?? fromBase64,
3342
base64Encoder: config?.base64Encoder ?? toBase64,
3443
bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,
@@ -39,8 +48,13 @@ export const getRuntimeConfig = (config: AccountClientConfig) => {
3948
defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),
4049
maxAttempts: config?.maxAttempts ?? loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS),
4150
region: config?.region ?? loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS),
42-
requestHandler: config?.requestHandler ?? new NodeHttpHandler(),
43-
retryMode: config?.retryMode ?? loadNodeConfig(NODE_RETRY_MODE_CONFIG_OPTIONS),
51+
requestHandler: config?.requestHandler ?? new RequestHandler(defaultConfigProvider),
52+
retryMode:
53+
config?.retryMode ??
54+
loadNodeConfig({
55+
...NODE_RETRY_MODE_CONFIG_OPTIONS,
56+
default: async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE,
57+
}),
4458
sha256: config?.sha256 ?? Hash.bind(null, "sha256"),
4559
streamCollector: config?.streamCollector ?? streamCollector,
4660
useDualstackEndpoint: config?.useDualstackEndpoint ?? loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),

clients/client-acm-pca/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@
4242
"@aws-sdk/util-base64-node": "3.46.0",
4343
"@aws-sdk/util-body-length-browser": "3.46.0",
4444
"@aws-sdk/util-body-length-node": "3.46.0",
45+
"@aws-sdk/util-defaults-mode-browser": "3.0.0",
46+
"@aws-sdk/util-defaults-mode-node": "3.0.0",
4547
"@aws-sdk/util-user-agent-browser": "3.46.0",
4648
"@aws-sdk/util-user-agent-node": "3.46.0",
4749
"@aws-sdk/util-utf8-browser": "3.46.0",

clients/client-acm-pca/src/ACMPCAClient.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import {
3030
import { HttpHandler as __HttpHandler } from "@aws-sdk/protocol-http";
3131
import {
3232
Client as __Client,
33+
DefaultsMode,
3334
SmithyConfiguration as __SmithyConfiguration,
3435
SmithyResolvedConfiguration as __SmithyResolvedConfiguration,
3536
} from "@aws-sdk/smithy-client";
@@ -283,6 +284,11 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
283284
* @internal
284285
*/
285286
defaultUserAgentProvider?: Provider<__UserAgent>;
287+
288+
/**
289+
* The {@link DefaultsMode} that will be used to determine how certain default configuration options are resolved in the SDK.
290+
*/
291+
defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
286292
}
287293

288294
type ACMPCAClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> &

clients/client-acm-pca/src/runtimeConfig.browser.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import packageInfo from "../package.json"; // eslint-disable-line
33

44
import { Sha256 } from "@aws-crypto/sha256-browser";
55
import { DEFAULT_USE_DUALSTACK_ENDPOINT, DEFAULT_USE_FIPS_ENDPOINT } from "@aws-sdk/config-resolver";
6-
import { FetchHttpHandler, streamCollector } from "@aws-sdk/fetch-http-handler";
6+
import { FetchHttpHandler as RequestHandler, streamCollector } from "@aws-sdk/fetch-http-handler";
77
import { invalidProvider } from "@aws-sdk/invalid-dependency";
88
import { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE } from "@aws-sdk/middleware-retry";
99
import { fromBase64, toBase64 } from "@aws-sdk/util-base64-browser";
@@ -12,16 +12,21 @@ import { defaultUserAgent } from "@aws-sdk/util-user-agent-browser";
1212
import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-browser";
1313
import { ACMPCAClientConfig } from "./ACMPCAClient";
1414
import { getRuntimeConfig as getSharedRuntimeConfig } from "./runtimeConfig.shared";
15+
import { loadConfigsForDefaultMode } from "@aws-sdk/smithy-client";
16+
import { resolveDefaultsModeConfig } from "@aws-sdk/util-defaults-mode-browser";
1517

1618
/**
1719
* @internal
1820
*/
1921
export const getRuntimeConfig = (config: ACMPCAClientConfig) => {
22+
const defaultsMode = resolveDefaultsModeConfig(config);
23+
const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);
2024
const clientSharedValues = getSharedRuntimeConfig(config);
2125
return {
2226
...clientSharedValues,
2327
...config,
2428
runtime: "browser",
29+
defaultsMode,
2530
base64Decoder: config?.base64Decoder ?? fromBase64,
2631
base64Encoder: config?.base64Encoder ?? toBase64,
2732
bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,
@@ -32,8 +37,8 @@ export const getRuntimeConfig = (config: ACMPCAClientConfig) => {
3237
defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),
3338
maxAttempts: config?.maxAttempts ?? DEFAULT_MAX_ATTEMPTS,
3439
region: config?.region ?? invalidProvider("Region is missing"),
35-
requestHandler: config?.requestHandler ?? new FetchHttpHandler(),
36-
retryMode: config?.retryMode ?? (() => Promise.resolve(DEFAULT_RETRY_MODE)),
40+
requestHandler: config?.requestHandler ?? new RequestHandler(defaultConfigProvider),
41+
retryMode: config?.retryMode ?? (async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE),
3742
sha256: config?.sha256 ?? Sha256,
3843
streamCollector: config?.streamCollector ?? streamCollector,
3944
useDualstackEndpoint: config?.useDualstackEndpoint ?? (() => Promise.resolve(DEFAULT_USE_DUALSTACK_ENDPOINT)),

clients/client-acm-pca/src/runtimeConfig.ts

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,34 @@ import {
1010
} from "@aws-sdk/config-resolver";
1111
import { defaultProvider as credentialDefaultProvider } from "@aws-sdk/credential-provider-node";
1212
import { Hash } from "@aws-sdk/hash-node";
13-
import { NODE_MAX_ATTEMPT_CONFIG_OPTIONS, NODE_RETRY_MODE_CONFIG_OPTIONS } from "@aws-sdk/middleware-retry";
13+
import {
14+
DEFAULT_RETRY_MODE,
15+
NODE_MAX_ATTEMPT_CONFIG_OPTIONS,
16+
NODE_RETRY_MODE_CONFIG_OPTIONS,
17+
} from "@aws-sdk/middleware-retry";
1418
import { loadConfig as loadNodeConfig } from "@aws-sdk/node-config-provider";
15-
import { NodeHttpHandler, streamCollector } from "@aws-sdk/node-http-handler";
19+
import { NodeHttpHandler as RequestHandler, streamCollector } from "@aws-sdk/node-http-handler";
1620
import { fromBase64, toBase64 } from "@aws-sdk/util-base64-node";
1721
import { calculateBodyLength } from "@aws-sdk/util-body-length-node";
1822
import { defaultUserAgent } from "@aws-sdk/util-user-agent-node";
1923
import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-node";
2024
import { ACMPCAClientConfig } from "./ACMPCAClient";
2125
import { getRuntimeConfig as getSharedRuntimeConfig } from "./runtimeConfig.shared";
26+
import { loadConfigsForDefaultMode } from "@aws-sdk/smithy-client";
27+
import { resolveDefaultsModeConfig } from "@aws-sdk/util-defaults-mode-node";
2228

2329
/**
2430
* @internal
2531
*/
2632
export const getRuntimeConfig = (config: ACMPCAClientConfig) => {
33+
const defaultsMode = resolveDefaultsModeConfig(config);
34+
const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);
2735
const clientSharedValues = getSharedRuntimeConfig(config);
2836
return {
2937
...clientSharedValues,
3038
...config,
3139
runtime: "node",
40+
defaultsMode,
3241
base64Decoder: config?.base64Decoder ?? fromBase64,
3342
base64Encoder: config?.base64Encoder ?? toBase64,
3443
bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,
@@ -39,8 +48,13 @@ export const getRuntimeConfig = (config: ACMPCAClientConfig) => {
3948
defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),
4049
maxAttempts: config?.maxAttempts ?? loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS),
4150
region: config?.region ?? loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS),
42-
requestHandler: config?.requestHandler ?? new NodeHttpHandler(),
43-
retryMode: config?.retryMode ?? loadNodeConfig(NODE_RETRY_MODE_CONFIG_OPTIONS),
51+
requestHandler: config?.requestHandler ?? new RequestHandler(defaultConfigProvider),
52+
retryMode:
53+
config?.retryMode ??
54+
loadNodeConfig({
55+
...NODE_RETRY_MODE_CONFIG_OPTIONS,
56+
default: async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE,
57+
}),
4458
sha256: config?.sha256 ?? Hash.bind(null, "sha256"),
4559
streamCollector: config?.streamCollector ?? streamCollector,
4660
useDualstackEndpoint: config?.useDualstackEndpoint ?? loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),

0 commit comments

Comments
 (0)