[ https://issues.apache.org/activemq/browse/CAMEL-2452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=57489#action_57489 ]
Christian Mueller commented on CAMEL-2452: ------------------------------------------ Claus, could you please have a look on this issue and patch. [CAMEL-1530|https://issues.apache.org/activemq/browse/CAMEL-1530] depends on this and I planed to deliver the patch for [CAMEL-1530|https://issues.apache.org/activemq/browse/CAMEL-1530] in the next tree days. The "problem" is, that HttpClient 4.0.1 checks the request header of the presents of some header which must not in, e.g. Transfer-Encoding. This header (and the other headers list in the issue name) should be filtered by the HttpHeaderFilterStrategy: {code:title=HttpHeaderFilterStrategy.java} public class HttpHeaderFilterStrategy extends DefaultHeaderFilterStrategy { public HttpHeaderFilterStrategy() { initialize(); } protected void initialize() { getOutFilter().add("content-length"); getOutFilter().add("content-type"); // Add the filter for the Generic Message header // http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.5 getOutFilter().add("Cache-Control"); getOutFilter().add("Connection"); getOutFilter().add("Pragma"); getOutFilter().add("Trailer"); getOutFilter().add("Transfer-Encoding"); getOutFilter().add("Upgrade"); getOutFilter().add("Via"); getOutFilter().add("Warning"); setLowerCase(true); // filter headers begin with "Camel" or "org.apache.camel" // must ignore case for Http based transports setOutFilterPattern("(?i)(Camel|org\\.apache\\.camel)[\\.|a-z|A-z|0-9]*"); } } {code} But DefaultHeaderFilterStrategy compares the lower case strings, if lowerCase is set to true (which is the case for HttpHeaderFilterStrategy) {code:title=DefaultHeaderFilterStrategy .java} if (filter != null) { if (isLowerCase()) { if (filter.contains(headerName.toLowerCase())) { return true; } } else { if (filter.contains(headerName)) { return true; } } } {code} This imply, that 'Transfer-Encoding' is comparing with 'transfer-encoding' what never match and this header will be never filtered out. Tanks, Christian > HttpHeaderFilterStrategy dosn't filters out 'Cache-Control', 'Connection', > 'Pragma', 'Trailer', 'Transfer-Encoding', 'Upgrade', 'Via' and 'Warning' in > method applyFilterToCamelHeaders > --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: CAMEL-2452 > URL: https://issues.apache.org/activemq/browse/CAMEL-2452 > Project: Apache Camel > Issue Type: Bug > Components: camel-http > Affects Versions: 2.1.0 > Environment: All > Reporter: Christian Mueller > Assignee: Christian Mueller > Fix For: 2.3.0 > > Attachments: HttpHeaderFilterStrategy.patch, > HttpHeaderFilterStrategyTest.patch > > > HttpHeaderFilterStrategy uses the HTTP headers with upper case characters on > the beginning (e. g. 'Transfer-Encoding' instead of 'transfer-encoding'). -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.