Skip to content

Commit 9da08df

Browse files
committed
chore(middleware-bucket-endpoint): pass fips/dualstack config to regionInfoProovider
1 parent 3e0a080 commit 9da08df

File tree

3 files changed

+11
-3
lines changed

3 files changed

+11
-3
lines changed

packages/middleware-bucket-endpoint/src/bucketEndpointMiddleware.spec.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ describe("bucketEndpointMiddleware", () => {
3434
.fn()
3535
.mockResolvedValue({ hostname: "foo.us-foo-2.amazonaws.com", partition: "aws-foo", signingRegion: mockRegion }),
3636
useArnRegion: jest.fn().mockResolvedValue(false),
37+
useFipsEndpoint: () => Promise.resolve(false),
3738
useDualstackEndpoint: () => Promise.resolve(false),
3839
};
3940

packages/middleware-bucket-endpoint/src/bucketEndpointMiddleware.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,11 @@ export const bucketEndpointMiddleware =
3131
} else if (validateArn(bucketName)) {
3232
const bucketArn = parseArn(bucketName);
3333
const clientRegion = getPseudoRegion(await options.region());
34-
const { partition, signingRegion = clientRegion } = (await options.regionInfoProvider(clientRegion)) || {};
34+
const useDualstackEndpoint = await options.useDualstackEndpoint();
35+
const useFipsEndpoint = await options.useFipsEndpoint();
36+
const { partition, signingRegion = clientRegion } =
37+
(await options.regionInfoProvider(clientRegion, { useDualstackEndpoint, useFipsEndpoint })) || {};
3538
const useArnRegion = await options.useArnRegion();
36-
const dualstackEndpoint = await options.useDualstackEndpoint();
3739
const {
3840
hostname,
3941
bucketEndpoint,
@@ -43,7 +45,7 @@ export const bucketEndpointMiddleware =
4345
bucketName: bucketArn,
4446
baseHostname: request.hostname,
4547
accelerateEndpoint: options.useAccelerateEndpoint,
46-
dualstackEndpoint,
48+
dualstackEndpoint: useDualstackEndpoint,
4749
pathStyleEndpoint: options.forcePathStyle,
4850
tlsCompatible: request.protocol === "https:",
4951
useArnRegion,

packages/middleware-bucket-endpoint/src/configurations.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ interface PreviouslyResolved {
2828
isCustomEndpoint: boolean;
2929
region: Provider<string>;
3030
regionInfoProvider: RegionInfoProvider;
31+
useFipsEndpoint: Provider<boolean>;
3132
useDualstackEndpoint: Provider<boolean>;
3233
}
3334

@@ -49,6 +50,10 @@ export interface BucketEndpointResolvedConfig {
4950
* Resolved value for input config {@link BucketEndpointInputConfig.useAccelerateEndpoint}
5051
*/
5152
useAccelerateEndpoint: boolean;
53+
/**
54+
* Enables FIPS compatible endpoints.
55+
*/
56+
useFipsEndpoint: Provider<boolean>;
5257
/**
5358
* Enables IPv6/IPv4 dualstack endpoint.
5459
*/

0 commit comments

Comments
 (0)