diff --git a/aws-android-sdk-s3/src/main/java/com/amazonaws/services/s3/AmazonS3Client.java b/aws-android-sdk-s3/src/main/java/com/amazonaws/services/s3/AmazonS3Client.java index c0fc165c16d..60ff4338982 100644 --- a/aws-android-sdk-s3/src/main/java/com/amazonaws/services/s3/AmazonS3Client.java +++ b/aws-android-sdk-s3/src/main/java/com/amazonaws/services/s3/AmazonS3Client.java @@ -4764,6 +4764,12 @@ protected Request createRequest(String bu clientConfiguration); } } + else { + if (clientOptions.isDualstackEnabled()) { + String hostname = String.format(Constants.S3_DUALSTACK_HOSTNAME, getRegionName()); + endpoint = RuntimeHttpUtils.toUri(hostname, clientConfiguration); + } + } request.setHttpMethod(httpMethod); resolveRequestEndpoint(request, bucketName, key, endpoint); diff --git a/aws-android-sdk-s3/src/main/java/com/amazonaws/services/s3/internal/Constants.java b/aws-android-sdk-s3/src/main/java/com/amazonaws/services/s3/internal/Constants.java index ea107171e17..f179de3dac4 100644 --- a/aws-android-sdk-s3/src/main/java/com/amazonaws/services/s3/internal/Constants.java +++ b/aws-android-sdk-s3/src/main/java/com/amazonaws/services/s3/internal/Constants.java @@ -36,6 +36,8 @@ public class Constants { public static final String S3_EXTERNAL_1_HOSTNAME = "s3-external-1.amazonaws.com"; /** Service hostname for accessing accelerated S3 buckets */ public static final String S3_ACCELERATE_HOSTNAME = "s3-accelerate.amazonaws.com"; + /** Service hostname for accessing dualstack S3 buckets; format argument is the region */ + public static final String S3_DUALSTACK_HOSTNAME = "s3.dualstack.%s.amazonaws.com"; /** Service hostname for accessing dualstack accelerated S3 buckets */ public static final String S3_ACCELERATE_DUALSTACK_HOSTNAME = "s3-accelerate.dualstack.amazonaws.com";