Skip to content

Commit 439788f

Browse files
committed
chore(middleware-sdk-s3): simplify the code
1 parent f977a7a commit 439788f

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

packages/middleware-sdk-s3/src/region-redirect-middleware.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,13 @@ export function regionRedirectMiddleware(clientConfig: PreviouslyResolved): Init
3636
return await next(args);
3737
} catch (err) {
3838
if (clientConfig.followRegionRedirects) {
39+
const statusCode = err?.$metadata?.httpStatusCode;
40+
const isHeadBucket = context.commandName === "HeadBucketCommand";
41+
const hasBucketRegionHeader = err?.$response?.headers?.["x-amz-bucket-region"];
3942
if (
40-
err?.$metadata?.httpStatusCode === 301 ||
41-
// err.name === "PermanentRedirect" && --> removing the error name check, as that allows for HEAD operations (which have the 301 status code, but not the same error name) to be covered for region redirection as well
42-
(err?.$metadata?.httpStatusCode === 400 && err?.name === "IllegalLocationConstraintException") ||
43-
(err?.$metadata?.httpStatusCode === 400 &&
44-
context.commandName === "HeadBucketCommand" &&
45-
err?.$response?.headers?.["x-amz-bucket-region"])
43+
statusCode === 301 ||
44+
(statusCode === 400 &&
45+
(err?.name === "IllegalLocationConstraintException" || (isHeadBucket && hasBucketRegionHeader)))
4646
) {
4747
try {
4848
const actualRegion = err.$response.headers["x-amz-bucket-region"];

0 commit comments

Comments
 (0)