Skip to content

Commit ad99b66

Browse files
kuheAllanZhengYP
andauthored
feat(clients): support util functions to consume response streams (#3977)
* feat(codegen): move util-stream-* package to aws dependency to ts dependency * feat(types): add sdk stream mixin injector type * fix(util-stream-browser): fix typo * feat(util-stream-node): use TextDecoder * feat(clients): support util functions to consume response streams * feat(serde): use type mapping to describe stream mixin Co-authored-by: AllanZhengYP <[email protected]>
1 parent f8926a5 commit ad99b66

File tree

100 files changed

+494
-72
lines changed

Some content is hidden

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

100 files changed

+494
-72
lines changed

clients/client-backupstorage/package.json

+2
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@
4646
"@aws-sdk/util-body-length-node": "*",
4747
"@aws-sdk/util-defaults-mode-browser": "*",
4848
"@aws-sdk/util-defaults-mode-node": "*",
49+
"@aws-sdk/util-stream-browser": "*",
50+
"@aws-sdk/util-stream-node": "*",
4951
"@aws-sdk/util-user-agent-browser": "*",
5052
"@aws-sdk/util-user-agent-node": "*",
5153
"@aws-sdk/util-utf8-browser": "*",

clients/client-backupstorage/src/BackupStorageClient.ts

+7
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ import {
4848
Provider as __Provider,
4949
Provider,
5050
RegionInfoProvider,
51+
SdkStreamMixinInjector as __SdkStreamMixinInjector,
5152
StreamCollector as __StreamCollector,
5253
UrlParser as __UrlParser,
5354
UserAgent as __UserAgent,
@@ -214,6 +215,12 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
214215
* The {@link DefaultsMode} that will be used to determine how certain default configuration options are resolved in the SDK.
215216
*/
216217
defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
218+
219+
/**
220+
* The internal function that inject utilities to runtime-specific stream to help users consume the data
221+
* @internal
222+
*/
223+
sdkStreamMixin?: __SdkStreamMixinInjector;
217224
}
218225

219226
type BackupStorageClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> &

clients/client-backupstorage/src/commands/GetChunkCommand.ts

+8-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ import {
99
HttpHandlerOptions as __HttpHandlerOptions,
1010
MetadataBearer as __MetadataBearer,
1111
MiddlewareStack,
12+
SdkStream as __SdkStream,
13+
SdkStreamSerdeContext as __SdkStreamSerdeContext,
1214
SerdeContext as __SerdeContext,
15+
WithSdkStreamMixin as __WithSdkStreamMixin,
1316
} from "@aws-sdk/types";
1417

1518
import { BackupStorageClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../BackupStorageClient";
@@ -25,7 +28,7 @@ import {
2528
} from "../protocols/Aws_restJson1";
2629

2730
export interface GetChunkCommandInput extends GetChunkInput {}
28-
export interface GetChunkCommandOutput extends GetChunkOutput, __MetadataBearer {}
31+
export interface GetChunkCommandOutput extends __WithSdkStreamMixin<GetChunkOutput, "Data">, __MetadataBearer {}
2932

3033
/**
3134
* Gets the specified object's chunk.
@@ -92,7 +95,10 @@ export class GetChunkCommand extends $Command<
9295
return serializeAws_restJson1GetChunkCommand(input, context);
9396
}
9497

95-
private deserialize(output: __HttpResponse, context: __SerdeContext): Promise<GetChunkCommandOutput> {
98+
private deserialize(
99+
output: __HttpResponse,
100+
context: __SerdeContext & __SdkStreamSerdeContext
101+
): Promise<GetChunkCommandOutput> {
96102
return deserializeAws_restJson1GetChunkCommand(output, context);
97103
}
98104

clients/client-backupstorage/src/commands/GetObjectMetadataCommand.ts

+10-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ import {
99
HttpHandlerOptions as __HttpHandlerOptions,
1010
MetadataBearer as __MetadataBearer,
1111
MiddlewareStack,
12+
SdkStream as __SdkStream,
13+
SdkStreamSerdeContext as __SdkStreamSerdeContext,
1214
SerdeContext as __SerdeContext,
15+
WithSdkStreamMixin as __WithSdkStreamMixin,
1316
} from "@aws-sdk/types";
1417

1518
import { BackupStorageClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../BackupStorageClient";
@@ -25,7 +28,9 @@ import {
2528
} from "../protocols/Aws_restJson1";
2629

2730
export interface GetObjectMetadataCommandInput extends GetObjectMetadataInput {}
28-
export interface GetObjectMetadataCommandOutput extends GetObjectMetadataOutput, __MetadataBearer {}
31+
export interface GetObjectMetadataCommandOutput
32+
extends __WithSdkStreamMixin<GetObjectMetadataOutput, "MetadataBlob">,
33+
__MetadataBearer {}
2934

3035
/**
3136
* Get metadata associated with an Object.
@@ -92,7 +97,10 @@ export class GetObjectMetadataCommand extends $Command<
9297
return serializeAws_restJson1GetObjectMetadataCommand(input, context);
9398
}
9499

95-
private deserialize(output: __HttpResponse, context: __SerdeContext): Promise<GetObjectMetadataCommandOutput> {
100+
private deserialize(
101+
output: __HttpResponse,
102+
context: __SerdeContext & __SdkStreamSerdeContext
103+
): Promise<GetObjectMetadataCommandOutput> {
96104
return deserializeAws_restJson1GetObjectMetadataCommand(output, context);
97105
}
98106

clients/client-backupstorage/src/protocols/Aws_restJson1.ts

+5-2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import {
1515
import {
1616
Endpoint as __Endpoint,
1717
ResponseMetadata as __ResponseMetadata,
18+
SdkStreamSerdeContext as __SdkStreamSerdeContext,
1819
SerdeContext as __SerdeContext,
1920
} from "@aws-sdk/types";
2021

@@ -413,7 +414,7 @@ const deserializeAws_restJson1DeleteObjectCommandError = async (
413414

414415
export const deserializeAws_restJson1GetChunkCommand = async (
415416
output: __HttpResponse,
416-
context: __SerdeContext
417+
context: __SerdeContext & __SdkStreamSerdeContext
417418
): Promise<GetChunkCommandOutput> => {
418419
if (output.statusCode !== 200 && output.statusCode >= 300) {
419420
return deserializeAws_restJson1GetChunkCommandError(output, context);
@@ -428,6 +429,7 @@ export const deserializeAws_restJson1GetChunkCommand = async (
428429
ChecksumAlgorithm: [, output.headers["x-amz-checksum-algorithm"]],
429430
});
430431
const data: any = output.body;
432+
context.sdkStreamMixin(data);
431433
contents.Data = data;
432434
return contents;
433435
};
@@ -476,7 +478,7 @@ const deserializeAws_restJson1GetChunkCommandError = async (
476478

477479
export const deserializeAws_restJson1GetObjectMetadataCommand = async (
478480
output: __HttpResponse,
479-
context: __SerdeContext
481+
context: __SerdeContext & __SdkStreamSerdeContext
480482
): Promise<GetObjectMetadataCommandOutput> => {
481483
if (output.statusCode !== 200 && output.statusCode >= 300) {
482484
return deserializeAws_restJson1GetObjectMetadataCommandError(output, context);
@@ -492,6 +494,7 @@ export const deserializeAws_restJson1GetObjectMetadataCommand = async (
492494
MetadataBlobChecksumAlgorithm: [, output.headers["x-amz-checksum-algorithm"]],
493495
});
494496
const data: any = output.body;
497+
context.sdkStreamMixin(data);
495498
contents.MetadataBlob = data;
496499
return contents;
497500
};

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

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { invalidProvider } from "@aws-sdk/invalid-dependency";
99
import { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE } from "@aws-sdk/middleware-retry";
1010
import { fromBase64, toBase64 } from "@aws-sdk/util-base64-browser";
1111
import { calculateBodyLength } from "@aws-sdk/util-body-length-browser";
12+
import { sdkStreamMixin } from "@aws-sdk/util-stream-browser";
1213
import { defaultUserAgent } from "@aws-sdk/util-user-agent-browser";
1314
import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-browser";
1415
import { BackupStorageClientConfig } from "./BackupStorageClient";
@@ -40,6 +41,7 @@ export const getRuntimeConfig = (config: BackupStorageClientConfig) => {
4041
region: config?.region ?? invalidProvider("Region is missing"),
4142
requestHandler: config?.requestHandler ?? new RequestHandler(defaultConfigProvider),
4243
retryMode: config?.retryMode ?? (async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE),
44+
sdkStreamMixin: config?.sdkStreamMixin ?? sdkStreamMixin,
4345
sha256: config?.sha256 ?? Sha256,
4446
streamCollector: config?.streamCollector ?? streamCollector,
4547
useDualstackEndpoint: config?.useDualstackEndpoint ?? (() => Promise.resolve(DEFAULT_USE_DUALSTACK_ENDPOINT)),

clients/client-backupstorage/src/runtimeConfig.ts

+2
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import { loadConfig as loadNodeConfig } from "@aws-sdk/node-config-provider";
2020
import { NodeHttpHandler as RequestHandler, streamCollector } from "@aws-sdk/node-http-handler";
2121
import { fromBase64, toBase64 } from "@aws-sdk/util-base64-node";
2222
import { calculateBodyLength } from "@aws-sdk/util-body-length-node";
23+
import { sdkStreamMixin } from "@aws-sdk/util-stream-node";
2324
import { defaultUserAgent } from "@aws-sdk/util-user-agent-node";
2425
import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-node";
2526
import { BackupStorageClientConfig } from "./BackupStorageClient";
@@ -58,6 +59,7 @@ export const getRuntimeConfig = (config: BackupStorageClientConfig) => {
5859
...NODE_RETRY_MODE_CONFIG_OPTIONS,
5960
default: async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE,
6061
}),
62+
sdkStreamMixin: config?.sdkStreamMixin ?? sdkStreamMixin,
6163
sha256: config?.sha256 ?? Hash.bind(null, "sha256"),
6264
streamCollector: config?.streamCollector ?? streamCollector,
6365
useDualstackEndpoint: config?.useDualstackEndpoint ?? loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),

clients/client-codeartifact/package.json

+2
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@
4646
"@aws-sdk/util-body-length-node": "*",
4747
"@aws-sdk/util-defaults-mode-browser": "*",
4848
"@aws-sdk/util-defaults-mode-node": "*",
49+
"@aws-sdk/util-stream-browser": "*",
50+
"@aws-sdk/util-stream-node": "*",
4951
"@aws-sdk/util-user-agent-browser": "*",
5052
"@aws-sdk/util-user-agent-node": "*",
5153
"@aws-sdk/util-utf8-browser": "*",

clients/client-codeartifact/src/CodeartifactClient.ts

+7
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ import {
4848
Provider as __Provider,
4949
Provider,
5050
RegionInfoProvider,
51+
SdkStreamMixinInjector as __SdkStreamMixinInjector,
5152
StreamCollector as __StreamCollector,
5253
UrlParser as __UrlParser,
5354
UserAgent as __UserAgent,
@@ -361,6 +362,12 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
361362
* The {@link DefaultsMode} that will be used to determine how certain default configuration options are resolved in the SDK.
362363
*/
363364
defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
365+
366+
/**
367+
* The internal function that inject utilities to runtime-specific stream to help users consume the data
368+
* @internal
369+
*/
370+
sdkStreamMixin?: __SdkStreamMixinInjector;
364371
}
365372

366373
type CodeartifactClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> &

clients/client-codeartifact/src/commands/GetPackageVersionAssetCommand.ts

+10-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ import {
99
HttpHandlerOptions as __HttpHandlerOptions,
1010
MetadataBearer as __MetadataBearer,
1111
MiddlewareStack,
12+
SdkStream as __SdkStream,
13+
SdkStreamSerdeContext as __SdkStreamSerdeContext,
1214
SerdeContext as __SerdeContext,
15+
WithSdkStreamMixin as __WithSdkStreamMixin,
1316
} from "@aws-sdk/types";
1417

1518
import { CodeartifactClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CodeartifactClient";
@@ -25,7 +28,9 @@ import {
2528
} from "../protocols/Aws_restJson1";
2629

2730
export interface GetPackageVersionAssetCommandInput extends GetPackageVersionAssetRequest {}
28-
export interface GetPackageVersionAssetCommandOutput extends GetPackageVersionAssetResult, __MetadataBearer {}
31+
export interface GetPackageVersionAssetCommandOutput
32+
extends __WithSdkStreamMixin<GetPackageVersionAssetResult, "asset">,
33+
__MetadataBearer {}
2934

3035
/**
3136
* <p>
@@ -96,7 +101,10 @@ export class GetPackageVersionAssetCommand extends $Command<
96101
return serializeAws_restJson1GetPackageVersionAssetCommand(input, context);
97102
}
98103

99-
private deserialize(output: __HttpResponse, context: __SerdeContext): Promise<GetPackageVersionAssetCommandOutput> {
104+
private deserialize(
105+
output: __HttpResponse,
106+
context: __SerdeContext & __SdkStreamSerdeContext
107+
): Promise<GetPackageVersionAssetCommandOutput> {
100108
return deserializeAws_restJson1GetPackageVersionAssetCommand(output, context);
101109
}
102110

clients/client-codeartifact/src/protocols/Aws_restJson1.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import {
1717
import {
1818
Endpoint as __Endpoint,
1919
ResponseMetadata as __ResponseMetadata,
20+
SdkStreamSerdeContext as __SdkStreamSerdeContext,
2021
SerdeContext as __SerdeContext,
2122
} from "@aws-sdk/types";
2223

@@ -2188,7 +2189,7 @@ const deserializeAws_restJson1GetDomainPermissionsPolicyCommandError = async (
21882189

21892190
export const deserializeAws_restJson1GetPackageVersionAssetCommand = async (
21902191
output: __HttpResponse,
2191-
context: __SerdeContext
2192+
context: __SerdeContext & __SdkStreamSerdeContext
21922193
): Promise<GetPackageVersionAssetCommandOutput> => {
21932194
if (output.statusCode !== 200 && output.statusCode >= 300) {
21942195
return deserializeAws_restJson1GetPackageVersionAssetCommandError(output, context);
@@ -2200,6 +2201,7 @@ export const deserializeAws_restJson1GetPackageVersionAssetCommand = async (
22002201
packageVersionRevision: [, output.headers["x-packageversionrevision"]],
22012202
});
22022203
const data: any = output.body;
2204+
context.sdkStreamMixin(data);
22032205
contents.asset = data;
22042206
return contents;
22052207
};

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

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { invalidProvider } from "@aws-sdk/invalid-dependency";
99
import { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE } from "@aws-sdk/middleware-retry";
1010
import { fromBase64, toBase64 } from "@aws-sdk/util-base64-browser";
1111
import { calculateBodyLength } from "@aws-sdk/util-body-length-browser";
12+
import { sdkStreamMixin } from "@aws-sdk/util-stream-browser";
1213
import { defaultUserAgent } from "@aws-sdk/util-user-agent-browser";
1314
import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-browser";
1415
import { CodeartifactClientConfig } from "./CodeartifactClient";
@@ -40,6 +41,7 @@ export const getRuntimeConfig = (config: CodeartifactClientConfig) => {
4041
region: config?.region ?? invalidProvider("Region is missing"),
4142
requestHandler: config?.requestHandler ?? new RequestHandler(defaultConfigProvider),
4243
retryMode: config?.retryMode ?? (async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE),
44+
sdkStreamMixin: config?.sdkStreamMixin ?? sdkStreamMixin,
4345
sha256: config?.sha256 ?? Sha256,
4446
streamCollector: config?.streamCollector ?? streamCollector,
4547
useDualstackEndpoint: config?.useDualstackEndpoint ?? (() => Promise.resolve(DEFAULT_USE_DUALSTACK_ENDPOINT)),

clients/client-codeartifact/src/runtimeConfig.ts

+2
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import { loadConfig as loadNodeConfig } from "@aws-sdk/node-config-provider";
2020
import { NodeHttpHandler as RequestHandler, streamCollector } from "@aws-sdk/node-http-handler";
2121
import { fromBase64, toBase64 } from "@aws-sdk/util-base64-node";
2222
import { calculateBodyLength } from "@aws-sdk/util-body-length-node";
23+
import { sdkStreamMixin } from "@aws-sdk/util-stream-node";
2324
import { defaultUserAgent } from "@aws-sdk/util-user-agent-node";
2425
import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-node";
2526
import { CodeartifactClientConfig } from "./CodeartifactClient";
@@ -58,6 +59,7 @@ export const getRuntimeConfig = (config: CodeartifactClientConfig) => {
5859
...NODE_RETRY_MODE_CONFIG_OPTIONS,
5960
default: async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE,
6061
}),
62+
sdkStreamMixin: config?.sdkStreamMixin ?? sdkStreamMixin,
6163
sha256: config?.sha256 ?? Hash.bind(null, "sha256"),
6264
streamCollector: config?.streamCollector ?? streamCollector,
6365
useDualstackEndpoint: config?.useDualstackEndpoint ?? loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),

clients/client-ebs/package.json

+2
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@
4646
"@aws-sdk/util-body-length-node": "*",
4747
"@aws-sdk/util-defaults-mode-browser": "*",
4848
"@aws-sdk/util-defaults-mode-node": "*",
49+
"@aws-sdk/util-stream-browser": "*",
50+
"@aws-sdk/util-stream-node": "*",
4951
"@aws-sdk/util-user-agent-browser": "*",
5052
"@aws-sdk/util-user-agent-node": "*",
5153
"@aws-sdk/util-utf8-browser": "*",

clients/client-ebs/src/EBSClient.ts

+7
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ import {
4848
Provider as __Provider,
4949
Provider,
5050
RegionInfoProvider,
51+
SdkStreamMixinInjector as __SdkStreamMixinInjector,
5152
StreamCollector as __StreamCollector,
5253
UrlParser as __UrlParser,
5354
UserAgent as __UserAgent,
@@ -202,6 +203,12 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
202203
* The {@link DefaultsMode} that will be used to determine how certain default configuration options are resolved in the SDK.
203204
*/
204205
defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
206+
207+
/**
208+
* The internal function that inject utilities to runtime-specific stream to help users consume the data
209+
* @internal
210+
*/
211+
sdkStreamMixin?: __SdkStreamMixinInjector;
205212
}
206213

207214
type EBSClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> &

clients/client-ebs/src/commands/GetSnapshotBlockCommand.ts

+10-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ import {
99
HttpHandlerOptions as __HttpHandlerOptions,
1010
MetadataBearer as __MetadataBearer,
1111
MiddlewareStack,
12+
SdkStream as __SdkStream,
13+
SdkStreamSerdeContext as __SdkStreamSerdeContext,
1214
SerdeContext as __SerdeContext,
15+
WithSdkStreamMixin as __WithSdkStreamMixin,
1316
} from "@aws-sdk/types";
1417

1518
import { EBSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EBSClient";
@@ -25,7 +28,9 @@ import {
2528
} from "../protocols/Aws_restJson1";
2629

2730
export interface GetSnapshotBlockCommandInput extends GetSnapshotBlockRequest {}
28-
export interface GetSnapshotBlockCommandOutput extends GetSnapshotBlockResponse, __MetadataBearer {}
31+
export interface GetSnapshotBlockCommandOutput
32+
extends __WithSdkStreamMixin<GetSnapshotBlockResponse, "BlockData">,
33+
__MetadataBearer {}
2934

3035
/**
3136
* <p>Returns the data in a block in an Amazon Elastic Block Store snapshot.</p>
@@ -92,7 +97,10 @@ export class GetSnapshotBlockCommand extends $Command<
9297
return serializeAws_restJson1GetSnapshotBlockCommand(input, context);
9398
}
9499

95-
private deserialize(output: __HttpResponse, context: __SerdeContext): Promise<GetSnapshotBlockCommandOutput> {
100+
private deserialize(
101+
output: __HttpResponse,
102+
context: __SerdeContext & __SdkStreamSerdeContext
103+
): Promise<GetSnapshotBlockCommandOutput> {
96104
return deserializeAws_restJson1GetSnapshotBlockCommand(output, context);
97105
}
98106

clients/client-ebs/src/protocols/Aws_restJson1.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import {
1818
import {
1919
Endpoint as __Endpoint,
2020
ResponseMetadata as __ResponseMetadata,
21+
SdkStreamSerdeContext as __SdkStreamSerdeContext,
2122
SerdeContext as __SerdeContext,
2223
} from "@aws-sdk/types";
2324
import { v4 as generateIdempotencyToken } from "uuid";
@@ -298,7 +299,7 @@ const deserializeAws_restJson1CompleteSnapshotCommandError = async (
298299

299300
export const deserializeAws_restJson1GetSnapshotBlockCommand = async (
300301
output: __HttpResponse,
301-
context: __SerdeContext
302+
context: __SerdeContext & __SdkStreamSerdeContext
302303
): Promise<GetSnapshotBlockCommandOutput> => {
303304
if (output.statusCode !== 200 && output.statusCode >= 300) {
304305
return deserializeAws_restJson1GetSnapshotBlockCommandError(output, context);
@@ -313,6 +314,7 @@ export const deserializeAws_restJson1GetSnapshotBlockCommand = async (
313314
ChecksumAlgorithm: [, output.headers["x-amz-checksum-algorithm"]],
314315
});
315316
const data: any = output.body;
317+
context.sdkStreamMixin(data);
316318
contents.BlockData = data;
317319
return contents;
318320
};

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

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { invalidProvider } from "@aws-sdk/invalid-dependency";
99
import { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE } from "@aws-sdk/middleware-retry";
1010
import { fromBase64, toBase64 } from "@aws-sdk/util-base64-browser";
1111
import { calculateBodyLength } from "@aws-sdk/util-body-length-browser";
12+
import { sdkStreamMixin } from "@aws-sdk/util-stream-browser";
1213
import { defaultUserAgent } from "@aws-sdk/util-user-agent-browser";
1314
import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-browser";
1415
import { EBSClientConfig } from "./EBSClient";
@@ -40,6 +41,7 @@ export const getRuntimeConfig = (config: EBSClientConfig) => {
4041
region: config?.region ?? invalidProvider("Region is missing"),
4142
requestHandler: config?.requestHandler ?? new RequestHandler(defaultConfigProvider),
4243
retryMode: config?.retryMode ?? (async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE),
44+
sdkStreamMixin: config?.sdkStreamMixin ?? sdkStreamMixin,
4345
sha256: config?.sha256 ?? Sha256,
4446
streamCollector: config?.streamCollector ?? streamCollector,
4547
useDualstackEndpoint: config?.useDualstackEndpoint ?? (() => Promise.resolve(DEFAULT_USE_DUALSTACK_ENDPOINT)),

0 commit comments

Comments
 (0)