This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 59ee8f30c61 [CAMEL-20037] camel-http builds StringEntity with wrong 
contentEncoding (#11828)
59ee8f30c61 is described below

commit 59ee8f30c618718a5943773031c236b5a7ecbe70
Author: Simo Kivimäki <85223075+solita-sim...@users.noreply.github.com>
AuthorDate: Wed Oct 25 12:02:33 2023 +0300

    [CAMEL-20037] camel-http builds StringEntity with wrong contentEncoding 
(#11828)
    
    * CAMEL-20037: camel-http must not create StringEntity having charset as 
content encoding
    
    * camel-http autoformatted code
---
 .../main/java/org/apache/camel/component/http/HttpProducer.java    | 2 +-
 .../org/apache/camel/component/http/OAuth2ClientConfigurer.java    | 3 ++-
 .../component/http/HttpProducerContentTypeWithCharsetTest.java     | 1 +
 .../camel/component/http/HttpProducerWithSpecialCharsBodyTest.java | 7 +++----
 4 files changed, 7 insertions(+), 6 deletions(-)

diff --git 
a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java
 
b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java
index da9c7e0d034..b4974b1c5e7 100644
--- 
a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java
+++ 
b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java
@@ -778,7 +778,7 @@ public class HttpProducer extends DefaultProducer {
                             contentType = ContentType.parse(contentType + 
";charset=" + charset);
                         }
 
-                        answer = new StringEntity(content, contentType, 
charset, false);
+                        answer = new StringEntity(content, contentType, false);
                     }
 
                     // fallback as input stream
diff --git 
a/components/camel-http/src/main/java/org/apache/camel/component/http/OAuth2ClientConfigurer.java
 
b/components/camel-http/src/main/java/org/apache/camel/component/http/OAuth2ClientConfigurer.java
index 23b633f631c..ab4005cfd68 100644
--- 
a/components/camel-http/src/main/java/org/apache/camel/component/http/OAuth2ClientConfigurer.java
+++ 
b/components/camel-http/src/main/java/org/apache/camel/component/http/OAuth2ClientConfigurer.java
@@ -63,7 +63,8 @@ public class OAuth2ClientConfigurer implements 
HttpClientConfigurer {
                         String accessToken = ((JsonObject) 
Jsoner.deserialize(responseString)).getString("access_token");
                         request.addHeader(HttpHeaders.AUTHORIZATION, 
accessToken);
                     } else {
-                        throw new HttpException("Received error response from 
token request with Status Code: " + response.getCode());
+                        throw new HttpException(
+                                "Received error response from token request 
with Status Code: " + response.getCode());
                     }
 
                 } catch (DeserializationException e) {
diff --git 
a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpProducerContentTypeWithCharsetTest.java
 
b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpProducerContentTypeWithCharsetTest.java
index eef598225ef..7e2f05a2745 100644
--- 
a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpProducerContentTypeWithCharsetTest.java
+++ 
b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpProducerContentTypeWithCharsetTest.java
@@ -51,6 +51,7 @@ public class HttpProducerContentTypeWithCharsetTest extends 
BaseHttpTest {
                     String contentType = 
request.getFirstHeader(Exchange.CONTENT_TYPE).getValue();
 
                     assertEquals(CONTENT_TYPE_WITH_CHARSET.replace(";", "; "), 
contentType);
+                    
assertFalse(request.containsHeader(Exchange.CONTENT_ENCODING));
 
                     response.setEntity(new StringEntity(contentType, 
StandardCharsets.US_ASCII));
                     response.setCode(HttpStatus.SC_OK);
diff --git 
a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpProducerWithSpecialCharsBodyTest.java
 
b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpProducerWithSpecialCharsBodyTest.java
index b651f7ff1a0..3a0cfb9ef2c 100644
--- 
a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpProducerWithSpecialCharsBodyTest.java
+++ 
b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpProducerWithSpecialCharsBodyTest.java
@@ -28,8 +28,7 @@ import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.Exchange.CHARSET_NAME;
 import static org.apache.hc.core5.http.ContentType.APPLICATION_JSON;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.*;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
@@ -71,7 +70,7 @@ class HttpProducerWithSpecialCharsBodyTest {
         assertTrue(requestEntity instanceof StringEntity);
         StringEntity entity = (StringEntity) requestEntity;
         assertEquals(APPLICATION_JSON_UTF8, entity.getContentType(), "Content 
type should be given content type and charset");
-        assertEquals(StandardCharsets.UTF_8.name(), 
entity.getContentEncoding(), "Content encoding should be given charset");
+        assertNull(entity.getContentEncoding(), "Content encoding should not 
be given");
         assertEquals(TEST_MESSAGE_WITH_SPECIAL_CHARACTERS,
                 new String(entity.getContent().readAllBytes(), 
StandardCharsets.UTF_8),
                 "Reading entity content with intended charset should result in 
the original (readable) message");
@@ -95,7 +94,7 @@ class HttpProducerWithSpecialCharsBodyTest {
         assertTrue(requestEntity instanceof StringEntity);
         StringEntity entity = (StringEntity) requestEntity;
         assertEquals(APPLICATION_JSON_UTF8, entity.getContentType(), "Content 
type should be given content type and charset");
-        assertEquals(StandardCharsets.UTF_8.name(), 
entity.getContentEncoding(), "Content encoding should be given charset");
+        assertNull(entity.getContentEncoding(), "Content encoding should not 
be given");
         assertEquals(TEST_MESSAGE_WITH_SPECIAL_CHARACTERS,
                 new String(entity.getContent().readAllBytes(), 
StandardCharsets.UTF_8),
                 "Reading entity content with intended charset should result in 
the original (readable) message");

Reply via email to