[
https://issues.apache.org/jira/browse/CAMEL-11092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15947059#comment-15947059
]
ASF GitHub Bot commented on CAMEL-11092:
----------------------------------------
GitHub user zregvart opened a pull request:
https://github.com/apache/camel/pull/1580
CAMEL-11092 If setting Exchange.REST_HTTP_URI the RestProducer should
remove Exchange.HTTP_PATH header
As most HTTP components generate URIs by concatenating
`Exchange.REST_HTTP_URI` and `Exchange.HTTP_PATH` when the REST producer
generates `Exchange.REST_HTTP_URI` header that contains the whole URI to be
used it should remove the `Exchange.HTTP_PATH` header in order to
prevent incorrect URIs.
For example `Exchange.HTTP_PATH` is set by the REST consumer to
`/api/pet/123`, and REST producer is configured with `Exchange.REST_HTTP_URI`
with URI `/api/pet/{petId}` if the `Exchange.HTTP_PATH` is not removed HTTP
component (IMHO all except for Restlet) would try to send the request to
`/api/pet/{petId}/api/pet/123`
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/zregvart/camel CAMEL-11092
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/camel/pull/1580.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1580
----
commit 496280c61c1642a619771e8b27e4329a9c84ca2c
Author: Zoran Regvart <[email protected]>
Date: 2017-03-29T12:55:57Z
CAMEL-11092 If setting Exchange.REST_HTTP_URI t...
...he RestProducer should remove Exchange.HTTP_PATH header
As most HTTP components generate URIs by concatenating
`Exchange.REST_HTTP_URI` and `Exchange.HTTP_PATH` when the REST producer
generates `Exchange.REST_HTTP_URI` header that contains the whole URI to
be used it should remove the `Exchange.HTTP_PATH` header in order to
prevent incorrect URIs.
For example `Exchange.HTTP_PATH` is set by the REST consumer to
`/api/pet/123`, and REST producer is configured with
`Exchange.REST_HTTP_URI` with URI `/api/pet/{petId}` if the
`Exchange.HTTP_PATH` is not removed HTTP component (IMHO all except for
Restlet) would try to send the request to `/api/pet/{petId}/api/pet/123`
----
> If setting Exchange.REST_HTTP_URI the RestProducer should remove
> Exchange.HTTP_PATH header
> ------------------------------------------------------------------------------------------
>
> Key: CAMEL-11092
> URL: https://issues.apache.org/jira/browse/CAMEL-11092
> Project: Camel
> Issue Type: Improvement
> Components: camel-core
> Reporter: Zoran Regvart
> Assignee: Zoran Regvart
>
> One of patterns in using microservices is consuming REST and producing from
> REST resources using REST component. For instance have a frontend exposed API
> using REST DSL and calling backend using REST producer.
> As most HTTP components generate URIs by concatenating
> {{Exchange.REST_HTTP_URI}} and {{Exchange.HTTP_PATH}} when the REST producer
> generates {{Exchange.REST_HTTP_URI}} header that contains the whole URI to be
> used it should remove the {{Exchange.HTTP_PATH}} header in order to prevent
> incorrect URIs.
> For example {{Exchange.HTTP_PATH}} is set by the REST consumer to
> {{/api/pet/123}}, and REST producer is configured with
> {{Exchange.REST_HTTP_URI}} with URI {{/api/pet/{petId}}} if the
> {{Exchange.HTTP_PATH}} is not removed HTTP component (IMHO all except for
> Restlet) would try to send the request to
> {{/api/pet/{petId}/api/pet/123}}.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)