[
https://issues.apache.org/jira/browse/CAMEL-5458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13433169#comment-13433169
]
Scott England-Sullivan commented on CAMEL-5458:
-----------------------------------------------
Hi Claus,
To restate the issue:
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 when sending a request to *http://localhost:10020/ping* the
following route will process as expected:
{code}
from("jetty:http://localhost:10020/ping?matchOnUriPrefix=true")
.to("jetty:http://localhost:10021/proxy/ping?bridgeEndpoint=true");
{code}
The following route though will forward requests to
*http://localhost:10021/proxy/ping/ping*, note the second ping, and throw an
exception:
{code}
from("jetty:http://localhost:10020?matchOnUriPrefix=true")
.to("jetty:http://localhost:10021/proxy/ping?bridgeEndpoint=true");
{code}
The documentation says:
*bridgeEndpoint* | *false* | If the option is true, then the Exchange.HTTP_URI
header is ignored, and *use the endpoint's URI for request*. You may also set
the throwExcpetionOnFailure to be false to let the AhcProducer send all the
fault response back
This is pretty vague but as I read it, I see that it should redirect requests
to the endpoint I have specified.
Scott ES
http://fusesource.com
> 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.patch, CAMEL-5458-v2.patch,
> CAMEL-5458-willem.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