You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2012/09/07 10:13:23 UTC

svn commit: r1381928 - in /camel/trunk/components/camel-http/src: main/java/org/apache/camel/component/http/HttpComponent.java test/java/org/apache/camel/component/http/HttpEndpointOptionsNotChangeComponentTest.java

Author: ningjiang
Date: Fri Sep  7 08:13:23 2012
New Revision: 1381928

URL: http://svn.apache.org/viewvc?rev=1381928&view=rev
Log:
CAMEL-5575 added "headerFilterStrategy" option on camel-http

Modified:
    camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java
    camel/trunk/components/camel-http/src/test/java/org/apache/camel/component/http/HttpEndpointOptionsNotChangeComponentTest.java

Modified: camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java?rev=1381928&r1=1381927&r2=1381928&view=diff
==============================================================================
--- camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java (original)
+++ camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java Fri Sep  7 08:13:23 2012
@@ -25,6 +25,7 @@ import java.util.Set;
 import org.apache.camel.Endpoint;
 import org.apache.camel.ResolveEndpointFailedException;
 import org.apache.camel.impl.HeaderFilterStrategyComponent;
+import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.camel.util.CollectionHelper;
 import org.apache.camel.util.IntrospectionSupport;
 import org.apache.camel.util.ObjectHelper;
@@ -209,6 +210,7 @@ public class HttpComponent extends Heade
         String proxyHost = getAndRemoveParameter(parameters, "proxyHost", String.class);
         Integer proxyPort = getAndRemoveParameter(parameters, "proxyPort", Integer.class);
         String authMethodPriority = getAndRemoveParameter(parameters, "authMethodPriority", String.class);
+        HeaderFilterStrategy headerFilterStrategy = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
         // http client can be configured from URI options
         HttpClientParams clientParams = new HttpClientParams();
         IntrospectionSupport.setProperties(clientParams, parameters, "httpClient.");
@@ -222,7 +224,11 @@ public class HttpComponent extends Heade
        
         // create the endpoint
         HttpEndpoint endpoint = new HttpEndpoint(endpointUri.toString(), this, clientParams, httpConnectionManager, configurer);
-        setEndpointHeaderFilterStrategy(endpoint);
+        if (headerFilterStrategy != null) {
+            endpoint.setHeaderFilterStrategy(headerFilterStrategy);
+        } else {
+            setEndpointHeaderFilterStrategy(endpoint);
+        }
 
         // prefer to use endpoint configured over component configured
         if (binding == null) {

Modified: camel/trunk/components/camel-http/src/test/java/org/apache/camel/component/http/HttpEndpointOptionsNotChangeComponentTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-http/src/test/java/org/apache/camel/component/http/HttpEndpointOptionsNotChangeComponentTest.java?rev=1381928&r1=1381927&r2=1381928&view=diff
==============================================================================
--- camel/trunk/components/camel-http/src/test/java/org/apache/camel/component/http/HttpEndpointOptionsNotChangeComponentTest.java (original)
+++ camel/trunk/components/camel-http/src/test/java/org/apache/camel/component/http/HttpEndpointOptionsNotChangeComponentTest.java Fri Sep  7 08:13:23 2012
@@ -47,6 +47,7 @@ public class HttpEndpointOptionsNotChang
     protected JndiRegistry createRegistry() throws Exception {
         JndiRegistry jndi = super.createRegistry();
         jndi.bind("other", new MyOtherBinding());
+        jndi.bind("myStrategy", new MyHeaderFilterStrategy());
         return jndi;
     }
 
@@ -63,6 +64,10 @@ public class HttpEndpointOptionsNotChang
         // and the default option has not been messed with
         HttpEndpoint end3 = context.getEndpoint("http://www.google.com", HttpEndpoint.class);
         assertIsInstanceOf(MyBinding.class, end3.getBinding());
+        
+        // test the headerFilterStrategy
+        HttpEndpoint end4 = context.getEndpoint("http://www.google.com?headerFilterStrategy=#myStrategy", HttpEndpoint.class);
+        assertIsInstanceOf(MyHeaderFilterStrategy.class, end4.getHeaderFilterStrategy());
     }
 
     private static class MyBinding extends DefaultHttpBinding {
@@ -76,5 +81,11 @@ public class HttpEndpointOptionsNotChang
             super(new HttpEndpoint());
         }
     }
+    
+    private static class MyHeaderFilterStrategy extends HttpHeaderFilterStrategy {
+        MyHeaderFilterStrategy() {
+            super();
+        }
+    }
 
 }