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 2019/08/02 14:00:36 UTC
[camel] branch master updated: CAMEL-13563: Fix AHC tests after
Jetty upgrade
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
The following commit(s) were added to refs/heads/master by this push:
new acc14c0 CAMEL-13563: Fix AHC tests after Jetty upgrade
new 6b55f81 Merge pull request #3079 from DenisIstomin/camel-13563-jetty-upgrade-fix
acc14c0 is described below
commit acc14c00deb1e0d71579c58b6d7d15e97d823cd3
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 d6c1a04..9a77570 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 9d63b4a..1707957 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
@@ -69,7 +69,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");
@@ -78,7 +77,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");