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