You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by co...@apache.org on 2019/08/08 11:21:08 UTC
[camel] 01/02: CAMEL-13563: Fix AHC tests after Jetty upgrade
This is an automated email from the ASF dual-hosted git repository.
coheigea pushed a commit to branch camel-2.x
in repository https://gitbox.apache.org/repos/asf/camel.git
commit fb69e85d05ce9be18124d596c6bd208f52aa5507
Author: Denis Istomin <is...@gmail.com>
AuthorDate: Fri Aug 2 18:38:47 2019 +0500
CAMEL-13563: Fix AHC tests after Jetty upgrade
---
.../camel/component/ahc/DefaultAhcBinding.java | 28 ++++++++++++----------
.../component/ahc/AhcProducerSessionTest.java | 2 --
2 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/DefaultAhcBinding.java b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/DefaultAhcBinding.java
index 94ae301..ffea5f7 100644
--- a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/DefaultAhcBinding.java
+++ b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/DefaultAhcBinding.java
@@ -25,6 +25,7 @@ import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.net.URI;
import java.nio.charset.Charset;
+import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@@ -82,8 +83,7 @@ public class DefaultAhcBinding implements AhcBinding {
log.trace("Setting method {}", method);
builder.setMethod(method);
- populateHeaders(builder, endpoint, exchange);
- populateCookieHeaders(builder, endpoint, exchange, uri);
+ populateHeaders(builder, endpoint, exchange, uri);
populateBody(builder, endpoint, exchange);
return builder.build();
@@ -101,9 +101,10 @@ public class DefaultAhcBinding implements AhcBinding {
return hasBody ? "POST" : "GET";
}
- protected void populateHeaders(RequestBuilder builder, AhcEndpoint endpoint, Exchange exchange) {
- HeaderFilterStrategy strategy = endpoint.getHeaderFilterStrategy();
+ protected void populateHeaders(RequestBuilder builder, AhcEndpoint endpoint, Exchange exchange, URI uri) throws CamelExchangeException {
+ Map<String, Object> headers = new HashMap<>();
+ HeaderFilterStrategy strategy = endpoint.getHeaderFilterStrategy();
// propagate headers as HTTP headers
for (Map.Entry<String, Object> entry : exchange.getIn().getHeaders().entrySet()) {
String headerValue = exchange.getIn().getHeader(entry.getKey(), String.class);
@@ -111,16 +112,11 @@ public class DefaultAhcBinding implements AhcBinding {
if (log.isTraceEnabled()) {
log.trace("Adding header {} = {}", entry.getKey(), headerValue);
}
- builder.addHeader(entry.getKey(), headerValue);
+
+ headers.put(entry.getKey(), headerValue);
}
}
-
- if (endpoint.isConnectionClose()) {
- builder.addHeader("Connection", "close");
- }
- }
- private void populateCookieHeaders(RequestBuilder builder, AhcEndpoint endpoint, Exchange exchange, URI uri) throws CamelExchangeException {
if (endpoint.getCookieHandler() != null) {
try {
Map<String, List<String>> cookieHeaders = endpoint.getCookieHandler().loadCookies(exchange, uri);
@@ -133,12 +129,18 @@ public class DefaultAhcBinding implements AhcBinding {
if (log.isTraceEnabled()) {
log.trace("Adding header {} = {}", key, joiner.toString());
}
- builder.addHeader(key, joiner.toString());
+ headers.put(key, joiner.toString());
}
} catch (IOException e) {
throw new CamelExchangeException("Error loading cookies", exchange, e);
}
}
+
+ if (endpoint.isConnectionClose()) {
+ builder.addHeader("Connection", "close");
+ }
+
+ headers.forEach(builder::addHeader);
}
protected void populateBody(RequestBuilder builder, AhcEndpoint endpoint, Exchange exchange) throws CamelExchangeException {
@@ -278,7 +280,7 @@ public class DefaultAhcBinding implements AhcBinding {
Object body = is;
// if content type is a serialized java object then de-serialize it back to a Java object but only if its allowed
- // an exception can also be transffered as java object
+ // an exception can also be transferred as java object
if (contentType != null && contentType.equals(AhcConstants.CONTENT_TYPE_JAVA_SERIALIZED_OBJECT)) {
if (endpoint.getComponent().isAllowJavaSerializedObject() || endpoint.isTransferException()) {
body = AhcHelper.deserializeJavaObjectFromStream(is);
diff --git a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcProducerSessionTest.java b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcProducerSessionTest.java
index 79e149e..d94db24 100644
--- a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcProducerSessionTest.java
+++ b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcProducerSessionTest.java
@@ -57,7 +57,6 @@ public class AhcProducerSessionTest extends BaseAhcTest {
}
@Test
- @org.junit.Ignore("Failing cookie test with Jetty 9.4")
public void testProducerInstanceSession() throws Exception {
getMockEndpoint("mock:result").expectedBodiesReceived("Old New World", "Old Old World");
template.sendBody("direct:instance", "World");
@@ -66,7 +65,6 @@ public class AhcProducerSessionTest extends BaseAhcTest {
}
@Test
- @org.junit.Ignore("Failing cookie test with Jetty 9.4")
public void testProducerExchangeSession() throws Exception {
getMockEndpoint("mock:result").expectedBodiesReceived("Old New World", "Old New World");
template.sendBody("direct:exchange", "World");