This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch camel-3.x in repository https://gitbox.apache.org/repos/asf/camel.git
commit add16d2f1e37f1904b94bb6f288e44ece82410ff 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 +++ .../aws2/s3/client/impl/AWS2S3ClientStandardImpl.java | 3 +++ 3 files changed, 18 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 0301f0fcdde..62d6d7417be 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") @@ -514,6 +516,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 or to expect * static credentials to be passed in. 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 b3ce72c714c..a4802a8a459 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/AWS2S3ClientStandardImpl.java b/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/client/impl/AWS2S3ClientStandardImpl.java index d1f186c84cc..4ecc9c9acb1 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()
