You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2023/04/14 09:57:49 UTC
[camel] 01/03: CAMEL-19266 - Camel-AWS2-S3: Add a forcePathStyle option to configuration
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 <an...@gmail.com>
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 <an...@gmail.com>
---
.../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()