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);
             }
         }
                 

Reply via email to