This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-3.7.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-3.7.x by this push:
new c318228 CAMEL-16282: Fix VertxBufferConverter charset encoding (#5157)
c318228 is described below
commit c31822816cbe7c990ccdf5d86900dee41efce605
Author: James Netherton <[email protected]>
AuthorDate: Tue Mar 2 11:27:07 2021 +0000
CAMEL-16282: Fix VertxBufferConverter charset encoding (#5157)
---
.../component/vertx/http/VertxBufferConverter.java | 4 ++--
.../vertx/http/VertxHttpBufferConverterTest.java | 17 ++++++++++-------
2 files changed, 12 insertions(+), 9 deletions(-)
diff --git
a/components/camel-vertx-http/src/main/java/org/apache/camel/component/vertx/http/VertxBufferConverter.java
b/components/camel-vertx-http/src/main/java/org/apache/camel/component/vertx/http/VertxBufferConverter.java
index 95d8517..6a88f54 100644
---
a/components/camel-vertx-http/src/main/java/org/apache/camel/component/vertx/http/VertxBufferConverter.java
+++
b/components/camel-vertx-http/src/main/java/org/apache/camel/component/vertx/http/VertxBufferConverter.java
@@ -40,7 +40,7 @@ public final class VertxBufferConverter {
public static Buffer toBuffer(String string, Exchange exchange) {
String charset = VertxHttpHelper.getCharsetFromExchange(exchange);
if (ObjectHelper.isNotEmpty(charset)) {
- Buffer.buffer(string, charset);
+ return Buffer.buffer(string, charset);
}
return Buffer.buffer(string);
}
@@ -70,7 +70,7 @@ public final class VertxBufferConverter {
public static String toString(Buffer buffer, Exchange exchange) {
String charset = VertxHttpHelper.getCharsetFromExchange(exchange);
if (ObjectHelper.isNotEmpty(charset)) {
- buffer.toString(charset);
+ return buffer.toString(charset);
}
return buffer.toString();
}
diff --git
a/components/camel-vertx-http/src/test/java/org/apache/camel/component/vertx/http/VertxHttpBufferConverterTest.java
b/components/camel-vertx-http/src/test/java/org/apache/camel/component/vertx/http/VertxHttpBufferConverterTest.java
index 56fbbdc..4ae33cd 100644
---
a/components/camel-vertx-http/src/test/java/org/apache/camel/component/vertx/http/VertxHttpBufferConverterTest.java
+++
b/components/camel-vertx-http/src/test/java/org/apache/camel/component/vertx/http/VertxHttpBufferConverterTest.java
@@ -17,6 +17,7 @@
package org.apache.camel.component.vertx.http;
import java.io.InputStream;
+import java.nio.charset.Charset;
import io.netty.buffer.Unpooled;
import io.vertx.core.buffer.Buffer;
@@ -38,11 +39,11 @@ public class VertxHttpBufferConverterTest extends
CamelTestSupport {
@Test
public void testStringToBufferWithEncoding() {
+ String encodedString = "Ťava dvojhrbá";
Exchange exchange = ExchangeBuilder.anExchange(context)
- .withHeader(Exchange.CONTENT_TYPE, "text/html;
charset=iso-8859-4").build();
- context.getTypeConverter().convertTo(Buffer.class, exchange, BODY);
- Buffer buffer = context.getTypeConverter().convertTo(Buffer.class,
BODY);
- Assertions.assertEquals(BODY, buffer.toString());
+ .withHeader(Exchange.CONTENT_TYPE, "text/html;
charset=iso-8859-2").build();
+ Buffer buffer = context.getTypeConverter().convertTo(Buffer.class,
exchange, encodedString);
+
Assertions.assertArrayEquals(encodedString.getBytes(Charset.forName("iso-8859-2")),
buffer.getBytes());
}
@Test
@@ -72,10 +73,12 @@ public class VertxHttpBufferConverterTest extends
CamelTestSupport {
@Test
public void testBufferToStringWithEncoding() {
+ String encodedString = "Ťava dvojhrbá";
Exchange exchange = ExchangeBuilder.anExchange(context)
- .withHeader(Exchange.CONTENT_TYPE, "text/html;
charset=iso-8859-4").build();
- String result = context.getTypeConverter().convertTo(String.class,
exchange, Buffer.buffer(BODY));
- Assertions.assertEquals(BODY, result);
+ .withHeader(Exchange.CONTENT_TYPE, "text/plain;
charset=iso-8859-2").build();
+ String result = context.getTypeConverter()
+ .convertTo(String.class, exchange,
Buffer.buffer(encodedString, "iso-8859-2"));
+ Assertions.assertEquals(encodedString, result);
}
@Test