Skip to content

Commit f7e4c42

Browse files
committed
chore: move getSigningRegion to new file
1 parent 2ca4814 commit f7e4c42

File tree

2 files changed

+31
-15
lines changed

2 files changed

+31
-15
lines changed

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

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

33
import { getResolvedHostname } from "./getResolvedHostname";
44
import { getResolvedPartition } from "./getResolvedPartition";
5-
import { isFipsRegion } from "./isFipsRegion";
5+
import { getSigningRegion } from "./getSigningRegion";
66
import { PartitionHash } from "./PartitionHash";
77
import { RegionHash } from "./RegionHash";
88

@@ -24,20 +24,7 @@ export const getRegionInfo = (
2424
regionHostname: regionHash[resolvedRegion]?.hostname,
2525
partitionHostname: partitionHash[partition]?.hostname,
2626
});
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-
}
27+
const signingRegion = getSigningRegion(region, { hostname, partition, regionHash, partitionHash });
4128

4229
return {
4330
partition,
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import { isFipsRegion } from "./isFipsRegion";
2+
import { PartitionHash } from "./PartitionHash";
3+
import { RegionHash } from "./RegionHash";
4+
5+
export interface GetSigningRegionOptions {
6+
hostname: string;
7+
partition: string;
8+
regionHash: RegionHash;
9+
partitionHash: PartitionHash;
10+
}
11+
12+
export const getSigningRegion = (
13+
region: string,
14+
{ hostname, partition, regionHash, partitionHash }: GetSigningRegionOptions
15+
) => {
16+
const resolvedRegion = partitionHash[partition]?.endpoint ?? region;
17+
if (regionHash[resolvedRegion]?.signingRegion) {
18+
return regionHash[resolvedRegion].signingRegion;
19+
} else if (isFipsRegion(region)) {
20+
const regionRegex = partitionHash[partition].regionRegex
21+
.replace("\\\\", "\\")
22+
.replace(/^\^/g, "")
23+
.replace(/\$$/g, "");
24+
const regionRegexmatchArray = hostname.match(regionRegex);
25+
if (regionRegexmatchArray) {
26+
return regionRegexmatchArray[0];
27+
}
28+
}
29+
};

0 commit comments

Comments
 (0)