Repository: camel
Updated Branches:
  refs/heads/camel-2.17.x 6aa84254f -> 052807ad2


CAMEL-10181: Camel-undertow: UndertowHttpBinding should be initialized in the 
endpoint and not at component level


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/6df702ce
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/6df702ce
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/6df702ce

Branch: refs/heads/camel-2.17.x
Commit: 6df702ce6074dcbe3d5452201241477b53e31169
Parents: 6aa8425
Author: Andrea Cosentino <anco...@gmail.com>
Authored: Mon Jul 25 14:10:35 2016 +0200
Committer: Andrea Cosentino <anco...@gmail.com>
Committed: Mon Jul 25 14:35:18 2016 +0200

----------------------------------------------------------------------
 .../camel/component/undertow/UndertowComponent.java      | 11 +++++++++--
 .../camel/component/undertow/UndertowEndpoint.java       |  8 ++++++--
 2 files changed, 15 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/6df702ce/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
 
b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
index 65771f2..a43979b 100644
--- 
a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
+++ 
b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
@@ -58,7 +58,7 @@ import org.slf4j.LoggerFactory;
 public class UndertowComponent extends UriEndpointComponent implements 
RestConsumerFactory, RestApiConsumerFactory {
     private static final Logger LOG = 
LoggerFactory.getLogger(UndertowEndpoint.class);
 
-    private UndertowHttpBinding undertowHttpBinding = new 
DefaultUndertowHttpBinding();
+    private UndertowHttpBinding undertowHttpBinding;
     private final Map<Integer, UndertowRegistry> serversRegistry = new 
HashMap<Integer, UndertowRegistry>();
     private SSLContextParameters sslContextParameters;
 
@@ -78,7 +78,14 @@ public class UndertowComponent extends UriEndpointComponent 
implements RestConsu
         UndertowEndpoint endpoint = createEndpointInstance(endpointUri, this);
         // set options from component
         endpoint.setSslContextParameters(sslContextParameters);
-        endpoint.setUndertowHttpBinding(undertowHttpBinding);
+        // Prefer endpoint configured over component configured
+        if (undertowHttpBinding == null) {
+            // fallback to component configured
+               undertowHttpBinding = getUndertowHttpBinding();
+        }
+        if (undertowHttpBinding != null) {
+            endpoint.setUndertowHttpBinding(undertowHttpBinding);
+        }
         // set options from parameters
         setProperties(endpoint, parameters);
         if (options != null) {

http://git-wip-us.apache.org/repos/asf/camel/blob/6df702ce/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java
----------------------------------------------------------------------
diff --git 
a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java
 
b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java
index 9111ecd..f71da15 100644
--- 
a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java
+++ 
b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java
@@ -60,7 +60,7 @@ public class UndertowEndpoint extends DefaultEndpoint 
implements HeaderFilterStr
     @UriParam(label = "advanced")
     private UndertowHttpBinding undertowHttpBinding;
     @UriParam(label = "advanced")
-    private HeaderFilterStrategy headerFilterStrategy;
+    private HeaderFilterStrategy headerFilterStrategy = new 
UndertowHeaderFilterStrategy();
     @UriParam(label = "security")
     private SSLContextParameters sslContextParameters;
     @UriParam(label = "consumer")
@@ -178,7 +178,6 @@ public class UndertowEndpoint extends DefaultEndpoint 
implements HeaderFilterStr
      */
     public void setHeaderFilterStrategy(HeaderFilterStrategy 
headerFilterStrategy) {
         this.headerFilterStrategy = headerFilterStrategy;
-        undertowHttpBinding.setHeaderFilterStrategy(headerFilterStrategy);
     }
 
     public SSLContextParameters getSslContextParameters() {
@@ -217,6 +216,11 @@ public class UndertowEndpoint extends DefaultEndpoint 
implements HeaderFilterStr
     }
 
     public UndertowHttpBinding getUndertowHttpBinding() {
+        if (undertowHttpBinding == null) {
+            // create a new binding and use the options from this endpoint
+               undertowHttpBinding = new DefaultUndertowHttpBinding();
+               
undertowHttpBinding.setHeaderFilterStrategy(getHeaderFilterStrategy());
+        }
         return undertowHttpBinding;
     }
 

Reply via email to