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 2018/01/25 10:13:01 UTC
[camel] 01/02: CAMEL-12190 - Camel-AWS S3: Add a parameter to
specify chunkedEncodingDisabled option
This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 1739ca61c1b9b7e7450a6dcff697384ed5647861
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Jan 25 10:57:54 2018 +0100
CAMEL-12190 - Camel-AWS S3: Add a parameter to specify chunkedEncodingDisabled option
---
.../org/apache/camel/component/aws/s3/S3Configuration.java | 14 ++++++++++++++
.../java/org/apache/camel/component/aws/s3/S3Endpoint.java | 6 +++++-
.../component/aws/s3/S3ComponentConfigurationTest.java | 13 +++++++++++++
3 files changed, 32 insertions(+), 1 deletion(-)
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java
index c536ce0..8fd11ff 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java
@@ -17,6 +17,7 @@
package org.apache.camel.component.aws.s3;
import com.amazonaws.services.s3.AmazonS3;
+import com.amazonaws.services.s3.S3ClientOptions;
import com.amazonaws.services.s3.model.EncryptionMaterials;
import org.apache.camel.RuntimeCamelException;
@@ -72,6 +73,8 @@ public class S3Configuration implements Cloneable {
private EncryptionMaterials encryptionMaterials;
@UriParam(label = "common", defaultValue = "false")
private boolean useEncryption;
+ @UriParam(label = "common, advanced", defaultValue = "false")
+ private boolean chunkedEncodingDisabled;
@UriParam(label = "producer", defaultValue = "false")
private boolean useAwsKMS;
@UriParam(label = "producer")
@@ -382,6 +385,17 @@ public class S3Configuration implements Cloneable {
this.awsKMSKeyId = awsKMSKeyId;
}
+ public boolean isChunkedEncodingDisabled() {
+ return chunkedEncodingDisabled;
+ }
+
+ /**
+ * Define if disabled Chunked Encoding is true or false
+ */
+ public void setChunkedEncodingDisabled(boolean chunkedEncodingDisabled) {
+ this.chunkedEncodingDisabled = chunkedEncodingDisabled;
+ }
+
boolean hasProxyConfiguration() {
return ObjectHelper.isNotEmpty(getProxyHost()) && ObjectHelper.isNotEmpty(getProxyPort());
}
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
index 74ef7ab..31fba55 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
@@ -26,6 +26,7 @@ import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.AmazonS3EncryptionClientBuilder;
+import com.amazonaws.services.s3.S3ClientOptions;
import com.amazonaws.services.s3.model.CreateBucketRequest;
import com.amazonaws.services.s3.model.ListObjectsRequest;
import com.amazonaws.services.s3.model.ObjectMetadata;
@@ -262,12 +263,14 @@ public class S3Endpoint extends ScheduledPollEndpoint {
clientBuilder = clientBuilder.withRegion(Regions.valueOf(configuration.getRegion()));
}
clientBuilder = clientBuilder.withPathStyleAccessEnabled(configuration.isPathStyleAccess());
+ clientBuilder = clientBuilder.withChunkedEncodingDisabled(configuration.isChunkedEncodingDisabled());
client = clientBuilder.build();
} else {
if (ObjectHelper.isNotEmpty(configuration.getRegion())) {
encClientBuilder = encClientBuilder.withRegion(Regions.valueOf(configuration.getRegion()));
}
encClientBuilder = encClientBuilder.withPathStyleAccessEnabled(configuration.isPathStyleAccess());
+ encClientBuilder = encClientBuilder.withChunkedEncodingDisabled(configuration.isChunkedEncodingDisabled());
client = encClientBuilder.build();
}
} else {
@@ -284,16 +287,17 @@ public class S3Endpoint extends ScheduledPollEndpoint {
clientBuilder = clientBuilder.withRegion(Regions.valueOf(configuration.getRegion()));
}
clientBuilder = clientBuilder.withPathStyleAccessEnabled(configuration.isPathStyleAccess());
+ clientBuilder = clientBuilder.withChunkedEncodingDisabled(configuration.isChunkedEncodingDisabled());
client = clientBuilder.build();
} else {
if (ObjectHelper.isNotEmpty(configuration.getRegion())) {
encClientBuilder = encClientBuilder.withRegion(Regions.valueOf(configuration.getRegion()));
}
encClientBuilder = encClientBuilder.withPathStyleAccessEnabled(configuration.isPathStyleAccess());
+ encClientBuilder = encClientBuilder.withChunkedEncodingDisabled(configuration.isChunkedEncodingDisabled());
client = encClientBuilder.build();
}
}
-
return client;
}
diff --git a/components/camel-aws/src/test/java/org/apache/camel/component/aws/s3/S3ComponentConfigurationTest.java b/components/camel-aws/src/test/java/org/apache/camel/component/aws/s3/S3ComponentConfigurationTest.java
index 1437cd3..17a33f9 100644
--- a/components/camel-aws/src/test/java/org/apache/camel/component/aws/s3/S3ComponentConfigurationTest.java
+++ b/components/camel-aws/src/test/java/org/apache/camel/component/aws/s3/S3ComponentConfigurationTest.java
@@ -17,6 +17,7 @@
package org.apache.camel.component.aws.s3;
import com.amazonaws.regions.Regions;
+import com.amazonaws.services.s3.S3ClientOptions;
import org.apache.camel.impl.JndiRegistry;
import org.apache.camel.impl.PropertyPlaceholderDelegateRegistry;
@@ -172,6 +173,18 @@ public class S3ComponentConfigurationTest extends CamelTestSupport {
}
@Test
+ public void createEndpointWithChunkedEncoding() throws Exception {
+
+ S3Component component = new S3Component(context);
+ S3Endpoint endpoint = (S3Endpoint) component.createEndpoint("aws-s3://MyBucket?chunkedEncodingDisabled=true&accessKey=xxx&secretKey=yyy®ion=US_WEST_1");
+
+ assertEquals("MyBucket", endpoint.getConfiguration().getBucketName());
+ assertEquals("xxx", endpoint.getConfiguration().getAccessKey());
+ assertEquals("yyy", endpoint.getConfiguration().getSecretKey());
+ assertTrue(endpoint.getConfiguration().isChunkedEncodingDisabled());
+ }
+
+ @Test
public void createEndpointWithoutSecretKeyAndAccessKeyConfiguration() throws Exception {
AmazonS3ClientMock mock = new AmazonS3ClientMock();
--
To stop receiving notification emails like this one, please contact
acosentino@apache.org.