This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit 6e96da923bc6f0be5d868fb46147541c71cbeec3 Author: Andrea Cosentino <[email protected]> AuthorDate: Fri Apr 14 10:42:53 2023 +0200 CAMEL-19266 - Camel-AWS2-S3: Add a forcePathStyle option to configuration Signed-off-by: Andrea Cosentino <[email protected]> --- .../apache/camel/component/aws2/s3/AWS2S3Configuration.java | 12 ++++++++++++ .../aws2/s3/client/impl/AWS2S3ClientIAMOptimizedImpl.java | 3 +++ .../s3/client/impl/AWS2S3ClientIAMProfileOptimizedImpl.java | 3 +++ .../aws2/s3/client/impl/AWS2S3ClientStandardImpl.java | 3 +++ 4 files changed, 21 insertions(+) diff --git a/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Configuration.java b/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Configuration.java index e9454c574ed..06a8f0c7c43 100644 --- a/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Configuration.java +++ b/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Configuration.java @@ -52,6 +52,8 @@ public class AWS2S3Configuration implements Cloneable { private boolean includeFolders = true; @UriParam private String region; + @UriParam + private boolean forcePathStyle; @UriParam(label = "consumer", defaultValue = "true") private boolean deleteAfterRead = true; @UriParam(label = "consumer") @@ -518,6 +520,16 @@ public class AWS2S3Configuration implements Cloneable { this.customerAlgorithm = customerAlgorithm; } + public boolean isForcePathStyle() { + return forcePathStyle; + } + /** + * Set whether the S3 client should use path-style URL instead of virtual-hosted-style + */ + public void setForcePathStyle(boolean forcePathStyle) { + this.forcePathStyle = forcePathStyle; + } + /** * Set whether the S3 client should expect to load credentials through a default credentials provider. */ diff --git a/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/client/impl/AWS2S3ClientIAMOptimizedImpl.java b/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/client/impl/AWS2S3ClientIAMOptimizedImpl.java index 338bb3b4a2e..72ea19fed75 100644 --- a/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/client/impl/AWS2S3ClientIAMOptimizedImpl.java +++ b/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/client/impl/AWS2S3ClientIAMOptimizedImpl.java @@ -73,6 +73,9 @@ public class AWS2S3ClientIAMOptimizedImpl implements AWS2CamelS3InternalClient { if (configuration.isOverrideEndpoint()) { clientBuilder.endpointOverride(URI.create(configuration.getUriEndpointOverride())); } + if (configuration.isForcePathStyle()) { + clientBuilder.forcePathStyle(true); + } if (configuration.isTrustAllCertificates()) { SdkHttpClient ahc = ApacheHttpClient.builder().buildWithDefaults(AttributeMap .builder() diff --git a/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/client/impl/AWS2S3ClientIAMProfileOptimizedImpl.java b/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/client/impl/AWS2S3ClientIAMProfileOptimizedImpl.java index e2f74370518..77419f8650c 100644 --- a/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/client/impl/AWS2S3ClientIAMProfileOptimizedImpl.java +++ b/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/client/impl/AWS2S3ClientIAMProfileOptimizedImpl.java @@ -88,6 +88,9 @@ public class AWS2S3ClientIAMProfileOptimizedImpl implements AWS2CamelS3InternalC if (configuration.isOverrideEndpoint()) { clientBuilder.endpointOverride(URI.create(configuration.getUriEndpointOverride())); } + if (configuration.isForcePathStyle()) { + clientBuilder.forcePathStyle(true); + } if (configuration.isTrustAllCertificates()) { SdkHttpClient ahc = ApacheHttpClient.builder().buildWithDefaults(AttributeMap .builder() diff --git a/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/client/impl/AWS2S3ClientStandardImpl.java b/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/client/impl/AWS2S3ClientStandardImpl.java index 2cd7693f82a..5d0fffc6cd7 100644 --- a/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/client/impl/AWS2S3ClientStandardImpl.java +++ b/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/client/impl/AWS2S3ClientStandardImpl.java @@ -89,6 +89,9 @@ public class AWS2S3ClientStandardImpl implements AWS2CamelS3InternalClient { if (configuration.isOverrideEndpoint()) { clientBuilder.endpointOverride(URI.create(configuration.getUriEndpointOverride())); } + if (configuration.isForcePathStyle()) { + clientBuilder.forcePathStyle(true); + } if (configuration.isTrustAllCertificates()) { SdkHttpClient ahc = ApacheHttpClient.builder().buildWithDefaults(AttributeMap .builder()
