You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by burner <bj...@googlemail.com> on 2015/12/16 13:02:56 UTC
Add my own Filter on http4?
Hello together,
i want to use a own headerFilterStrategy on my own Component extends from
http4.
So I create this class:
public class DefaultHeaderFilterStrategy extends HttpHeaderFilterStrategy {
public DefaultHeaderFilterStrategy() {
super();
getOutFilter().add("MessageHistory");
getInFilter().add("MessageHistory");
System.err.println(getOutFilter().toString());
// I get [date, content-length, transfer-encoding, upgrade, pragma, via,
trailer, *MessageHistory*, host, warning, content-type, connection,
cache-control]
}
public boolean applyFilterToCamelHeaders(String headerName, Object
headerValue, Exchange exchange) {
boolean test = super.applyFilterToCamelHeaders(headerName, headerValue,
exchange);
System.err.println("Camel return "+test+ " for "+headerName);
*// Here I get false for MessageHistory*
return test;
}
public boolean applyFilterToExternalHeaders(String headerName, Object
headerValue, Exchange exchange) {
boolean test = super.applyFilterToExternalHeaders(headerName,
headerValue, exchange);
System.err.println("Extern return "+test+ " for "+headerName);
*// Here I get false for MessageHistory*
return test;
}
}
and in my Component extends from
org.apache.camel.component.http4.HttpComponent I override the Method
createEndpoint and change the line:
From
if (headerFilterStrategy != null) {
endpoint.setHeaderFilterStrategy(headerFilterStrategy);
} else {
setEndpointHeaderFilterStrategy(endpoint);
}
To
if (headerFilterStrategy != null) {
endpoint.setHeaderFilterStrategy(headerFilterStrategy);
} else {
* headerFilterStrategy = new DefaultHeaderFilterStrategy();
endpoint.setHeaderFilterStrategy(headerFilterStrategy);*
setEndpointHeaderFilterStrategy(endpoint);
}
It print out, that my Filter is in getOutFilter. But it always sends out in
the header from a http Post request.
Why? How can I filter out a Camel Header, without to remove the header vom
the Exchange?
Thank you for help.
--
View this message in context: http://camel.465427.n5.nabble.com/Add-my-own-Filter-on-http4-tp5775147.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Add my own Filter on http4?
Posted by burner <bj...@googlemail.com>.
I found the Error!
All cases must be lower!
so this work:
getOutFilter().add("messagehistory");
This don't work:
getOutFilter().add("MessageHistory");
--
View this message in context: http://camel.465427.n5.nabble.com/Add-my-own-Filter-on-http4-tp5775147p5775152.html
Sent from the Camel - Users mailing list archive at Nabble.com.