Repository: camel Updated Branches: refs/heads/master fd08031bb -> 0b78c8318
CAMEL-9833: Add mapHttpMessage option to allow to turn off mapping by default Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/0b78c831 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/0b78c831 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/0b78c831 Branch: refs/heads/master Commit: 0b78c8318ac77c7c491000905560da28c448c03f Parents: fd08031 Author: Andrea Cosentino <anco...@gmail.com> Authored: Thu Apr 7 16:41:58 2016 +0200 Committer: Andrea Cosentino <anco...@gmail.com> Committed: Thu Apr 7 16:41:58 2016 +0200 ---------------------------------------------------------------------- .../camel/http/common/DefaultHttpBinding.java | 35 +++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/0b78c831/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpBinding.java ---------------------------------------------------------------------- diff --git a/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpBinding.java b/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpBinding.java index 6f5a97f..c3a7080 100644 --- a/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpBinding.java +++ b/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpBinding.java @@ -27,6 +27,7 @@ import java.net.URLDecoder; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Enumeration; +import java.util.HashMap; import java.util.Iterator; import java.util.Locale; import java.util.Map; @@ -104,23 +105,25 @@ public class DefaultHttpBinding implements HttpBinding { message.getBody(); } // populate the headers from the request if mapHttpHeaders is true - Map<String, Object> headers = message.getHeaders(); + Map<String, Object> headers = new HashMap<String, Object>(); if (mapHttpMessageHeaders) { - //apply the headerFilterStrategy - Enumeration<?> names = request.getHeaderNames(); - while (names.hasMoreElements()) { - String name = (String)names.nextElement(); - String value = request.getHeader(name); - // use http helper to extract parameter value as it may contain multiple values - Object extracted = HttpHelper.extractHttpParameterValue(value); - // mapping the content-type - if (name.toLowerCase().equals("content-type")) { - name = Exchange.CONTENT_TYPE; - } - if (headerFilterStrategy != null - && !headerFilterStrategy.applyFilterToExternalHeaders(name, extracted, message.getExchange())) { - HttpHelper.appendHeader(headers, name, extracted); - } + headers = message.getHeaders(); + } + + //apply the headerFilterStrategy + Enumeration<?> names = request.getHeaderNames(); + while (names.hasMoreElements()) { + String name = (String)names.nextElement(); + String value = request.getHeader(name); + // use http helper to extract parameter value as it may contain multiple values + Object extracted = HttpHelper.extractHttpParameterValue(value); + // mapping the content-type + if (name.toLowerCase().equals("content-type")) { + name = Exchange.CONTENT_TYPE; + } + if (headerFilterStrategy != null + && !headerFilterStrategy.applyFilterToExternalHeaders(name, extracted, message.getExchange())) { + HttpHelper.appendHeader(headers, name, extracted); } }