@aws-sdk/middleware-sdk-s3
Version:
[](https://www.npmjs.com/package/@aws-sdk/middleware-sdk-s3) [](https://www.npmjs.com/package/@
19 lines (18 loc) • 675 B
JavaScript
const REGEX_S3CONTROL_HOSTNAME = /^(.+\.)?s3-control(-fips)?[.-]([a-z0-9-]+)\./;
export const getOutpostEndpoint = (hostname, { isCustomEndpoint, regionOverride, useFipsEndpoint }) => {
if (isCustomEndpoint) {
return hostname;
}
const match = hostname.match(REGEX_S3CONTROL_HOSTNAME);
if (!match) {
return hostname;
}
const [matched, prefix, fips, region] = hostname.match(REGEX_S3CONTROL_HOSTNAME);
return [
`s3-outposts${useFipsEndpoint ? "-fips" : ""}`,
regionOverride || region,
hostname.replace(new RegExp(`^${matched}`), ""),
]
.filter((part) => part !== undefined)
.join(".");
};