camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claus Ibsen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CAMEL-6185) http4 component should always filter 'host' header
Date Mon, 21 Oct 2013 13:43:42 GMT

    [ https://issues.apache.org/jira/browse/CAMEL-6185?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13800652#comment-13800652
] 

Claus Ibsen commented on CAMEL-6185:
------------------------------------

Some details about host header
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.23

Need to make the same fix in
- camel-http
- camel-http4
- camel-ahc
- camel-jetty
- camel-netty-http

As we have several http clients.


> http4 component should always filter 'host' header
> --------------------------------------------------
>
>                 Key: CAMEL-6185
>                 URL: https://issues.apache.org/jira/browse/CAMEL-6185
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-http
>    Affects Versions: 2.10.4
>            Reporter: Fried Hoeben
>            Assignee: Christian Posta
>
> Exchanges originating from a CXF consumer get an incorrect 'host' http-header when directed
to a http4 producer. The problem is that the cxf consumer copies the incoming 'host' header
to the message, and the http4 producer copies this to the outgoing message. The http component
does not do that.
> When sending a http request the HttpProducer copies headers from the incomming message
to the HTTP request. The 'host' header should not be copied since it (according to the http
spec) should always contain the name of the server the request is sent to.
> This has already been addressed for bridge endpoints (CAMEL-5757), but is always an issue.
> The easiest fix seems to be to add the 'host' header to the list of out going filters
in org.apache.camel.component.http4.HttpHeaderFilterStrategy.initialize() i.e.:
> {code}
> getOutFilter().add("host");
> {code}
> Once this is done the special handling (i.e. removal of) of 'host' header in case of
bridgeEndpoint inside HttpProducer can be removed (since the strategy will remove it):
> {code}
>             // Need to remove the Host key as it should be not used 
>             exchange.getIn().getHeaders().remove("host");
> {code}



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message