Skip to content

Commit a0735ab

Browse files
committed
chore: get signingRegion from regionRegex
1 parent e415496 commit a0735ab

File tree

1 file changed

+24
-8
lines changed

1 file changed

+24
-8
lines changed

packages/config-resolver/src/regionInfo/getRegionInfo.ts

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { RegionInfo } from "@aws-sdk/types";
22

33
import { getResolvedHostname } from "./getResolvedHostname";
44
import { getResolvedPartition } from "./getResolvedPartition";
5+
import { isFipsRegion } from "./isFipsRegion";
56
import { PartitionHash } from "./PartitionHash";
67
import { RegionHash } from "./RegionHash";
78

@@ -17,17 +18,32 @@ export const getRegionInfo = (
1718
): RegionInfo => {
1819
const partition = getResolvedPartition(region, { partitionHash });
1920
const resolvedRegion = partitionHash[partition]?.endpoint ?? region;
21+
22+
const hostname = getResolvedHostname(resolvedRegion, {
23+
signingService,
24+
regionHostname: regionHash[resolvedRegion]?.hostname,
25+
partitionHostname: partitionHash[partition]?.hostname,
26+
});
27+
28+
let signingRegion: string | undefined;
29+
if (regionHash[resolvedRegion]?.signingRegion) {
30+
signingRegion = regionHash[resolvedRegion].signingRegion;
31+
} else if (isFipsRegion(region)) {
32+
const regionRegex = partitionHash[partition].regionRegex
33+
.replace("\\\\", "\\")
34+
.replace(/^\^/g, "")
35+
.replace(/\$$/g, "");
36+
const regionRegexmatchArray = hostname.match(regionRegex);
37+
if (regionRegexmatchArray) {
38+
signingRegion = regionRegexmatchArray[0];
39+
}
40+
}
41+
2042
return {
2143
partition,
2244
signingService,
23-
hostname: getResolvedHostname(resolvedRegion, {
24-
signingService,
25-
regionHostname: regionHash[resolvedRegion]?.hostname,
26-
partitionHostname: partitionHash[partition]?.hostname,
27-
}),
28-
...(regionHash[resolvedRegion]?.signingRegion && {
29-
signingRegion: regionHash[resolvedRegion].signingRegion,
30-
}),
45+
hostname,
46+
...(signingRegion && { signingRegion }),
3147
...(regionHash[resolvedRegion]?.signingService && {
3248
signingService: regionHash[resolvedRegion].signingService,
3349
}),

0 commit comments

Comments
 (0)