You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2015/07/19 10:15:43 UTC
[1/2] camel git commit: CAMEL-7152 - HttpProducer loses response data
(specifically which headers where returned):
Repository: camel
Updated Branches:
refs/heads/master b528f7788 -> e21187e82
CAMEL-7152 - HttpProducer loses response data (specifically which headers where returned):
1) Added copyHeaders to http and http4 components
2) Fixed some "online" tests which were outdated
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/f8503218
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/f8503218
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/f8503218
Branch: refs/heads/master
Commit: f8503218d55b80f1ff9bb9e59a9b4d07db4a9074
Parents: b528f77
Author: Robert Budźko <ro...@gmail.com>
Authored: Sat Jul 18 12:35:47 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sun Jul 19 10:16:36 2015 +0200
----------------------------------------------------------------------
.../camel/component/http/HttpEndpoint.java | 24 ++++++++--
.../camel/component/http/HttpProducer.java | 10 ++--
...ponentConfigurationAndDocumentationTest.java | 9 +++-
.../http/HttpGetHeadersNotCopiedTest.java | 46 ++++++++++++++++++
.../camel/component/http/HttpGetTest.java | 2 +-
.../component/http/HttpGetWithHeadersTest.java | 3 +-
.../component/http/HttpPostWithBodyTest.java | 4 +-
.../component/http/HttpQueryGoogleTest.java | 5 +-
.../camel/component/http4/HttpEndpoint.java | 12 +++++
.../camel/component/http4/HttpProducer.java | 10 ++--
.../http4/HttpCamelHeadersNotCopiedTest.java | 41 ++++++++++++++++
.../component/http4/HttpCamelHeadersTest.java | 50 +++++++++++++-------
12 files changed, 179 insertions(+), 37 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/f8503218/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java
index fcdd6a4..bcf6cb6 100644
--- a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java
+++ b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java
@@ -110,6 +110,10 @@ public class HttpEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
@UriParam(label = "producer",
description = "If this option is true, The http producer won't read response body and cache the input stream")
private boolean ignoreResponseBody;
+ @UriParam(defaultValue = "true",
+ description = "If this option is true then IN exchange headers will be copied to OUT exchange headers"
+ + " according to copy strategy.")
+ private boolean copyHeaders = true;
@UriParam(label = "consumer",
description = "Whether to eager check whether the HTTP requests has content if the content-length header is 0 or not present."
+ " This can be turned on in case HTTP clients do not send streamed data.")
@@ -125,7 +129,7 @@ public class HttpEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
public HttpEndpoint(String endPointURI, HttpComponent component, URI httpURI, HttpConnectionManager httpConnectionManager) throws URISyntaxException {
this(endPointURI, component, httpURI, new HttpClientParams(), httpConnectionManager, null);
}
-
+
public HttpEndpoint(String endPointURI, HttpComponent component, HttpClientParams clientParams,
HttpConnectionManager httpConnectionManager, HttpClientConfigurer clientConfigurer) throws URISyntaxException {
this(endPointURI, component, null, clientParams, httpConnectionManager, clientConfigurer);
@@ -338,7 +342,7 @@ public class HttpEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
public void setThrowExceptionOnFailure(boolean throwExceptionOnFailure) {
this.throwExceptionOnFailure = throwExceptionOnFailure;
}
-
+
public boolean isBridgeEndpoint() {
return bridgeEndpoint;
}
@@ -350,7 +354,7 @@ public class HttpEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
public void setBridgeEndpoint(boolean bridge) {
this.bridgeEndpoint = bridge;
}
-
+
public boolean isMatchOnUriPrefix() {
return matchOnUriPrefix;
}
@@ -363,7 +367,7 @@ public class HttpEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
public void setMatchOnUriPrefix(boolean match) {
this.matchOnUriPrefix = match;
}
-
+
public boolean isDisableStreamCache() {
return this.disableStreamCache;
}
@@ -382,7 +386,7 @@ public class HttpEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
public void setDisableStreamCache(boolean disable) {
this.disableStreamCache = disable;
}
-
+
public boolean isChunked() {
return this.chunked;
}
@@ -496,6 +500,16 @@ public class HttpEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
this.ignoreResponseBody = ignoreResponseBody;
}
+ /**
+ * If this option is true then IN exchange headers will be copied to OUT exchange headers according to copy strategy.
+ */
+ public boolean isCopyHeaders() {
+ return copyHeaders;
+ }
+
+ public void setCopyHeaders(boolean copyHeaders) {
+ this.copyHeaders = copyHeaders;
+ }
public boolean isEagerCheckContentAvailable() {
return eagerCheckContentAvailable;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/f8503218/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java
----------------------------------------------------------------------
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 052b09e..4edde30 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
@@ -193,10 +193,12 @@ public class HttpProducer extends DefaultProducer {
}
}
- // preserve headers from in by copying any non existing headers
- // to avoid overriding existing headers with old values
- // Just filter the http protocol headers
- MessageHelper.copyHeaders(exchange.getIn(), answer, httpProtocolHeaderFilterStrategy, false);
+ // endpoint might be configured to copy headers from in to out
+ // to avoid overriding existing headers with old values just
+ // filter the http protocol headers
+ if (getEndpoint().isCopyHeaders()) {
+ MessageHelper.copyHeaders(exchange.getIn(), answer, httpProtocolHeaderFilterStrategy, false);
+ }
}
protected Exception populateHttpOperationFailedException(Exchange exchange, HttpMethod method, int responseCode) throws IOException, ClassNotFoundException {
http://git-wip-us.apache.org/repos/asf/camel/blob/f8503218/components/camel-http/src/test/java/org/apache/camel/component/http/HttpComponentConfigurationAndDocumentationTest.java
----------------------------------------------------------------------
diff --git a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpComponentConfigurationAndDocumentationTest.java b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpComponentConfigurationAndDocumentationTest.java
index bf985fa..169fb01 100644
--- a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpComponentConfigurationAndDocumentationTest.java
+++ b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpComponentConfigurationAndDocumentationTest.java
@@ -31,10 +31,17 @@ public class HttpComponentConfigurationAndDocumentationTest extends CamelTestSup
@Test
public void testComponentConfiguration() throws Exception {
HttpComponent comp = context.getComponent("http", HttpComponent.class);
- EndpointConfiguration conf = comp.createConfiguration("http://www.google.com?proxyHost=myotherproxy&proxyPort=2345");
+
+ StringBuilder url = new StringBuilder("http://www.google.com");
+ url.append("?proxyHost=myotherproxy");
+ url.append("&proxyPort=2345");
+ url.append("©Headers=false");
+
+ EndpointConfiguration conf = comp.createConfiguration(url.toString());
assertEquals("myotherproxy", conf.getParameter("proxyHost"));
assertEquals("2345", conf.getParameter("proxyPort"));
+ assertEquals("false", conf.getParameter("copyHeaders"));
ComponentConfiguration compConf = comp.createComponentConfiguration();
String json = compConf.createParameterJsonSchema();
http://git-wip-us.apache.org/repos/asf/camel/blob/f8503218/components/camel-http/src/test/java/org/apache/camel/component/http/HttpGetHeadersNotCopiedTest.java
----------------------------------------------------------------------
diff --git a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpGetHeadersNotCopiedTest.java b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpGetHeadersNotCopiedTest.java
new file mode 100644
index 0000000..cf24c4d
--- /dev/null
+++ b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpGetHeadersNotCopiedTest.java
@@ -0,0 +1,46 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.http;
+
+import org.apache.camel.builder.RouteBuilder;
+import org.junit.Before;
+
+import java.util.Map;
+
+public class HttpGetHeadersNotCopiedTest extends HttpGetWithHeadersTest {
+
+ @Override
+ protected RouteBuilder createRouteBuilder() throws Exception {
+ return new RouteBuilder() {
+ public void configure() {
+ from("direct:start")
+ .setHeader("TestHeader", constant("test"))
+ .setHeader("Content-Length", constant(0))
+ .setHeader("Accept-Language", constant("pl"))
+ .to("http://www.google.com/search?copyHeaders=false")
+ .to("mock:results");
+ }
+ };
+ }
+
+ @Override
+ protected void checkHeaders(Map<String, Object> headers) {
+ assertTrue("Should be more than one header but was: " + headers, headers.size() > 0);
+ assertFalse("TestHeader should not be copied.", headers.containsKey("TestHeader"));
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/camel/blob/f8503218/components/camel-http/src/test/java/org/apache/camel/component/http/HttpGetTest.java
----------------------------------------------------------------------
diff --git a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpGetTest.java b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpGetTest.java
index 02effb5..29e49f3 100644
--- a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpGetTest.java
+++ b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpGetTest.java
@@ -72,7 +72,7 @@ public class HttpGetTest extends CamelTestSupport {
public void configure() {
getContext().addComponent("http2", new HttpComponent());
from("direct:start").setHeader(Exchange.HTTP_QUERY, constant("hl=en&q=activemq"))
- .to("http2://http://www.google.com/search").to("mock:results");
+ .to("http2://www.google.com/search").to("mock:results");
}
};
}
http://git-wip-us.apache.org/repos/asf/camel/blob/f8503218/components/camel-http/src/test/java/org/apache/camel/component/http/HttpGetWithHeadersTest.java
----------------------------------------------------------------------
diff --git a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpGetWithHeadersTest.java b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpGetWithHeadersTest.java
index 8df8b31..4fefd10 100644
--- a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpGetWithHeadersTest.java
+++ b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpGetWithHeadersTest.java
@@ -44,7 +44,8 @@ public class HttpGetWithHeadersTest extends HttpGetTest {
expectedText = "Szukaj";
super.setUp();
}
-
+
+ @Override
protected void checkHeaders(Map<String, Object> headers) {
assertTrue("Should be more than one header but was: " + headers, headers.size() > 0);
assertEquals("Should get the TestHeader", "test", headers.get("TestHeader"));
http://git-wip-us.apache.org/repos/asf/camel/blob/f8503218/components/camel-http/src/test/java/org/apache/camel/component/http/HttpPostWithBodyTest.java
----------------------------------------------------------------------
diff --git a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpPostWithBodyTest.java b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpPostWithBodyTest.java
index ede7fa3..83f5aac 100644
--- a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpPostWithBodyTest.java
+++ b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpPostWithBodyTest.java
@@ -100,8 +100,8 @@ public class HttpPostWithBodyTest extends CamelTestSupport {
log.debug("Body: " + body);
assertNotNull("Should have a body!", body);
- assertTrue("body should contain: <html>", body.contains("<html>"));
-
+ assertTrue("body should contain: <html", body.contains("<html"));
+ assertTrue("body should contain: </html>", body.contains("</html>"));
}
@Override
http://git-wip-us.apache.org/repos/asf/camel/blob/f8503218/components/camel-http/src/test/java/org/apache/camel/component/http/HttpQueryGoogleTest.java
----------------------------------------------------------------------
diff --git a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpQueryGoogleTest.java b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpQueryGoogleTest.java
index 7867b9d..785d6df 100644
--- a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpQueryGoogleTest.java
+++ b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpQueryGoogleTest.java
@@ -16,10 +16,13 @@
*/
package org.apache.camel.component.http;
+import org.apache.camel.Exchange;
import org.apache.camel.test.junit4.CamelTestSupport;
import org.junit.Ignore;
import org.junit.Test;
+import static org.apache.camel.language.constant.ConstantLanguage.constant;
+
/**
* Unit test to query Google using GET with endpoint having the query parameters.
*/
@@ -32,7 +35,7 @@ public class HttpQueryGoogleTest extends CamelTestSupport {
@Test
@Ignore("Run manually")
public void testQueryGoogle() throws Exception {
- Object out = template.requestBody("http://www.google.com/search?q=Camel", "");
+ Object out = template.requestBodyAndHeader("http://www.google.com/search?q=Camel", "", Exchange.HTTP_METHOD, constant("GET"));
assertNotNull(out);
String data = context.getTypeConverter().convertTo(String.class, out);
assertTrue("Camel should be in search result from Google", data.indexOf("Camel") > -1);
http://git-wip-us.apache.org/repos/asf/camel/blob/f8503218/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
index a8e0132..8b10cb8 100644
--- a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
+++ b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
@@ -89,6 +89,8 @@ public class HttpEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
private boolean clearExpiredCookies = true;
@UriParam(label = "producer")
private boolean ignoreResponseBody;
+ @UriParam(label = "producer", defaultValue = "true")
+ private boolean copyHeaders = true;
@UriParam(label = "consumer")
private boolean eagerCheckContentAvailable;
@@ -504,4 +506,14 @@ public class HttpEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
this.eagerCheckContentAvailable = eagerCheckContentAvailable;
}
+ /**
+ * If this option is true then IN exchange headers will be copied to OUT exchange headers according to copy strategy.
+ */
+ public boolean isCopyHeaders() {
+ return copyHeaders;
+ }
+
+ public void setCopyHeaders(boolean copyHeaders) {
+ this.copyHeaders = copyHeaders;
+ }
}
http://git-wip-us.apache.org/repos/asf/camel/blob/f8503218/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpProducer.java b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpProducer.java
index 8e52f6b..258c6a4 100644
--- a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpProducer.java
+++ b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpProducer.java
@@ -210,10 +210,12 @@ public class HttpProducer extends DefaultProducer {
}
}
- // preserve headers from in by copying any non existing headers
- // to avoid overriding existing headers with old values
- // Just filter the http protocol headers
- MessageHelper.copyHeaders(exchange.getIn(), answer, httpProtocolHeaderFilterStrategy, false);
+ // endpoint might be configured to copy headers from in to out
+ // to avoid overriding existing headers with old values just
+ // filter the http protocol headers
+ if (getEndpoint().isCopyHeaders()) {
+ MessageHelper.copyHeaders(exchange.getIn(), answer, httpProtocolHeaderFilterStrategy, false);
+ }
}
protected Exception populateHttpOperationFailedException(Exchange exchange, HttpRequestBase httpRequest, HttpResponse httpResponse, int responseCode) throws IOException, ClassNotFoundException {
http://git-wip-us.apache.org/repos/asf/camel/blob/f8503218/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpCamelHeadersNotCopiedTest.java
----------------------------------------------------------------------
diff --git a/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpCamelHeadersNotCopiedTest.java b/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpCamelHeadersNotCopiedTest.java
new file mode 100644
index 0000000..fa80631
--- /dev/null
+++ b/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpCamelHeadersNotCopiedTest.java
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.http4;
+
+import org.apache.camel.Exchange;
+import org.apache.http.HttpStatus;
+
+import java.util.Map;
+
+public class HttpCamelHeadersNotCopiedTest extends HttpCamelHeadersTest {
+
+ @Override
+ protected void assertHeaders(Map<String, Object> headers) {
+ assertEquals("Should return " + HttpStatus.SC_OK, HttpStatus.SC_OK, headers.get(Exchange.HTTP_RESPONSE_CODE));
+ assertEquals("Should return mocked 12 CL", "12", headers.get("Content-Length"));
+
+ assertNotNull("Should have any Content-Type header propagated", headers.get("Content-Type"));
+
+ assertNull("Should not copy TestHeader from in to out", headers.get("TestHeader"));
+ assertNull("Should not copy Accept-Language from in to out", headers.get("Accept-Language"));
+ }
+
+ @Override
+ protected String setupEndpointParams() {
+ return "?copyHeaders=false";
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/camel/blob/f8503218/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpCamelHeadersTest.java
----------------------------------------------------------------------
diff --git a/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpCamelHeadersTest.java b/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpCamelHeadersTest.java
index 98741e1..f8fd6fb 100644
--- a/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpCamelHeadersTest.java
+++ b/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpCamelHeadersTest.java
@@ -36,19 +36,19 @@ import org.junit.Test;
/**
*
- * @version
+ * @version
*/
public class HttpCamelHeadersTest extends BaseHttpTest {
- private HttpServer localServer;
-
+ protected HttpServer localServer;
+
@Before
@Override
public void setUp() throws Exception {
Map<String, String> expectedHeaders = new HashMap<String, String>();
expectedHeaders.put("TestHeader", "test");
expectedHeaders.put("Accept-Language", "pl");
-
+
localServer = ServerBootstrap.bootstrap().
setHttpProcessor(getBasicHttpProcessor()).
setConnectionReuseStrategy(getConnectionReuseStrategy()).
@@ -70,18 +70,10 @@ public class HttpCamelHeadersTest extends BaseHttpTest {
localServer.stop();
}
}
-
+
@Test
public void httpHeadersShouldPresent() throws Exception {
- Exchange exchange = template.request("http4://" + localServer.getInetAddress().getHostName() + ":" + localServer.getLocalPort() + "/", new Processor() {
- public void process(Exchange exchange) throws Exception {
- exchange.getIn().setHeader("TestHeader", "test");
- exchange.getIn().setHeader("Accept-Language", "pl");
- exchange.getIn().setHeader(Exchange.HTTP_PROTOCOL_VERSION, "HTTP/1.0");
- }
- });
-
- assertExchange(exchange);
+ assertExchange(doExchange());
}
@Override
@@ -91,16 +83,38 @@ public class HttpCamelHeadersTest extends BaseHttpTest {
assertEquals("test", headers.get("TestHeader"));
assertEquals("pl", headers.get("Accept-Language"));
}
-
+
+ private Exchange doExchange() {
+ return template.request(
+ "http4://"
+ + localServer.getInetAddress().getHostName()
+ + ":"
+ + localServer.getLocalPort()
+ + "/"
+ + setupEndpointParams(),
+ new Processor() {
+ public void process(Exchange exchange) throws Exception {
+ exchange.getIn().setHeader("TestHeader", "test");
+ exchange.getIn().setHeader("Accept-Language", "pl");
+ exchange.getIn().setHeader(Exchange.HTTP_PROTOCOL_VERSION, "HTTP/1.0");
+ }
+ }
+ );
+ }
+
+ protected String setupEndpointParams() {
+ return "";
+ }
+
class MyHeaderValidationHandler extends HeaderValidationHandler {
private String expectProtocolVersion;
- public MyHeaderValidationHandler(String expectedMethod, String protocolVersion,
+ public MyHeaderValidationHandler(String expectedMethod, String protocolVersion,
String responseContent, Map<String, String> expectedHeaders) {
super(expectedMethod, null, null, responseContent, expectedHeaders);
expectProtocolVersion = protocolVersion;
}
-
+
public void handle(final HttpRequest request, final HttpResponse response,
final HttpContext context) throws HttpException, IOException {
if (!expectProtocolVersion.equals(request.getProtocolVersion().toString())) {
@@ -109,6 +123,6 @@ public class HttpCamelHeadersTest extends BaseHttpTest {
}
super.handle(request, response, context);
}
-
+
}
}
\ No newline at end of file
[2/2] camel git commit: CAMEL-7152: Polished
Posted by da...@apache.org.
CAMEL-7152: Polished
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/e21187e8
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e21187e8
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e21187e8
Branch: refs/heads/master
Commit: e21187e8266aa2910c1273a08b5775308b4beedf
Parents: f850321
Author: Claus Ibsen <da...@apache.org>
Authored: Sun Jul 19 10:19:50 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sun Jul 19 10:20:58 2015 +0200
----------------------------------------------------------------------
.../java/org/apache/camel/component/http/HttpEndpoint.java | 8 +++++---
.../java/org/apache/camel/component/http4/HttpEndpoint.java | 1 +
2 files changed, 6 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/e21187e8/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java
index bcf6cb6..a31ec23 100644
--- a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java
+++ b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java
@@ -110,9 +110,9 @@ public class HttpEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
@UriParam(label = "producer",
description = "If this option is true, The http producer won't read response body and cache the input stream")
private boolean ignoreResponseBody;
- @UriParam(defaultValue = "true",
- description = "If this option is true then IN exchange headers will be copied to OUT exchange headers"
- + " according to copy strategy.")
+ @UriParam(label = "producer", defaultValue = "true",
+ description = "If this option is true then IN exchange headers will be copied to OUT exchange headers according to copy strategy."
+ + " Setting this to false, allows to only include the headers from the HTTP response (not propagating IN headers).")
private boolean copyHeaders = true;
@UriParam(label = "consumer",
description = "Whether to eager check whether the HTTP requests has content if the content-length header is 0 or not present."
@@ -502,6 +502,7 @@ public class HttpEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
/**
* If this option is true then IN exchange headers will be copied to OUT exchange headers according to copy strategy.
+ * Setting this to false, allows to only include the headers from the HTTP response (not propagating IN headers).
*/
public boolean isCopyHeaders() {
return copyHeaders;
@@ -510,6 +511,7 @@ public class HttpEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
public void setCopyHeaders(boolean copyHeaders) {
this.copyHeaders = copyHeaders;
}
+
public boolean isEagerCheckContentAvailable() {
return eagerCheckContentAvailable;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/e21187e8/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
index 8b10cb8..c2c2c57 100644
--- a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
+++ b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
@@ -508,6 +508,7 @@ public class HttpEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
/**
* If this option is true then IN exchange headers will be copied to OUT exchange headers according to copy strategy.
+ * Setting this to false, allows to only include the headers from the HTTP response (not propagating IN headers).
*/
public boolean isCopyHeaders() {
return copyHeaders;