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

Willem Jiang commented on CAMEL-5458:
-------------------------------------

Hi Scott,

For the camel-http producer it will build up the request URI based on the 
HTTP_URI header or the endpoint URI plus the path info, that is the default 
behavior.

I think the document is not rightly, and when we enable the matchOnUriPrefix 
option, the bridgeEndpoint just ignore the Exchange.HTTP_URI, and use the 
endopint URI with the path infor to build up the request URI. In this way camel 
can provide the typical proxy feature out of box.

In my patch, I just introduced a usingFixPath option to ignore the path info, 
in this way it will not break anything before.

Regards,

Willem
                
> Jetty/HTTP Pathless Consumer matchOnUriPrefix=true Breaks Producer 
> bridgeEndpoint=true
> --------------------------------------------------------------------------------------
>
>                 Key: CAMEL-5458
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5458
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-http, camel-jetty
>    Affects Versions: 2.10.0
>            Reporter: Scott England-Sullivan
>            Assignee: Willem Jiang
>         Attachments: CAMEL-5458-v2.patch, CAMEL-5458-willem.patch, 
> CAMEL-5458.patch
>
>
> When a Jetty/HTTP endpoint that has the matchOnUriPrefix=true option set and 
> is configured to match any URI (no path is specified) the HttpHelper 
> concatenates the consumer path to the producer endpoint creating an 
> HttpOperationUnsupportedException.
> For example the following will process as expected and the HttpHelper class 
> will create the http://localhost:10021/proxy/ping consumer URI:
> {code}
> from("jetty:http://localhost:10020/ping?matchOnUriPrefix=true";)
>     .to("jetty:http://localhost:10021/proxy/ping?bridgeEndpoint=true";);
> {code}
> While this code will create http://localhost:10021/proxy/ping/ping and create 
> the exception (the only difference is there isn't a path on the consumer):
> {code}
> from("jetty:http://localhost:10020?matchOnUriPrefix=true";)
>     .to("jetty:http://localhost:10021/proxy/ping?bridgeEndpoint=true";);
> {code}
> Test case and patch will be uploaded shortly.
> Thanks,
> Scott ES
> http://fusesource.com

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to