diff --git a/src/main/java/software/amazon/nio/spi/s3/S3ClientProvider.java b/src/main/java/software/amazon/nio/spi/s3/S3ClientProvider.java
index 47977492..7d1a1f0b 100644
--- a/src/main/java/software/amazon/nio/spi/s3/S3ClientProvider.java
+++ b/src/main/java/software/amazon/nio/spi/s3/S3ClientProvider.java
@@ -52,7 +52,7 @@ public class S3ClientProvider {
final protected S3NioSpiConfiguration configuration;
/**
- * Default client using the "https://s3.us-east-1.amazonaws.com" endpoint
+ * Default client using the "..." endpoint
*/
private static final S3Client DEFAULT_CLIENT = S3Client.builder()
.endpointOverride(URI.create("https://s3.us-east-1.amazonaws.com"))
@@ -60,7 +60,7 @@ public class S3ClientProvider {
.build();
/**
- * Default asynchronous client using the "https://s3.us-east-1.amazonaws.com" endpoint
+ * Default asynchronous client using the "..." endpoint
*/
private static final S3AsyncClient DEFAULT_ASYNC_CLIENT = S3AsyncClient.builder()
.endpointOverride(URI.create("https://s3.us-east-1.amazonaws.com"))
@@ -181,11 +181,8 @@ private T getClientForBucket(
logger.debug("generating client for bucket: '{}'", bucketName);
T bucketSpecificClient = null;
- if ((configuration.getEndpoint() == null) || configuration.getEndpoint().isBlank()) {
- //
- // we try to locate a bucket only if no endpoint is provided, which
- // means we are dealing with AWS S3 buckets
- //
+ if (configuration.endpointURI() == null) {
+ // we try to locate a bucket only if no endpoint is provided, which means we are dealing with AWS S3 buckets
String bucketLocation = determineBucketLocation(bucketName, locationClient);
if ( bucketLocation != null) {
@@ -250,24 +247,7 @@ private S3AsyncClient asyncClientForRegion(String regionName, boolean crt) {
if (!crt) {
return configureClientForRegion(regionName, S3AsyncClient.builder());
}
- Region region = getRegionFromRegionName(regionName);
- logger.debug("bucket region is: '{}'", region.id());
-
- URI endpointUri = configuration.endpointURI();
- if (endpointUri != null) {
- asyncClientBuilder.endpointOverride(endpointUri);
- }
-
- AwsCredentials credentials = configuration.getCredentials();
- if (credentials != null) {
- asyncClientBuilder.credentialsProvider(() -> credentials);
- }
-
- return asyncClientBuilder.forcePathStyle(configuration.getForcePathStyle()).region(region).build();
- }
-
- private static Region getRegionFromRegionName(String regionName) {
- return (regionName == null || regionName.isBlank()) ? Region.US_EAST_1 : Region.of(regionName);
+ return configureCrtClientForRegion(regionName);
}
private > ActualClient configureClientForRegion(
@@ -298,4 +278,26 @@ private credentials);
+ }
+
+ return asyncClientBuilder.forcePathStyle(configuration.getForcePathStyle()).region(region).build();
+ }
+
+ private static Region getRegionFromRegionName(String regionName) {
+ return (regionName == null || regionName.isBlank()) ? Region.US_EAST_1 : Region.of(regionName);
+ }
+
}