You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2019/08/06 14:40:00 UTC

[jira] [Updated] (CAMEL-12864) rest: Host header should not overwrite host attribute on rest-swagger component

     [ https://issues.apache.org/jira/browse/CAMEL-12864?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen updated CAMEL-12864:
--------------------------------
    Description: 
When defining a rest-swagger component

{code}
@Bean
 public Component mobile(CamelContext camelContext) throws URISyntaxException

{ RestSwaggerComponent mobile = new RestSwaggerComponent(camelContext); mobile.setHost(mobileHost); mobile.setBasePath(mobileBasePath); mobile.setSpecificationUri( new URI(mobileSpecificationPath)); mobile.setComponentName("http4"); return mobile; }
{code}

in the following route (rest-endpoint missing, this is calling direct:getMobileAccountById) the host attribute is overwritten by the previous host header (therefore removeHeader needs to be called prior to invocation of the rest-swagger endpoint):(

{code}
from("direct:getMobileAccountById").routeId("getMobileAccountById")
 .setHeader("customerId", simple("headers.mobileAndFixedlineCustomerId.split(',')[1]"))
 .removeHeader("Host")
 .to("mobile:getAccountById")
 .unmarshal(gsonDataFormatMobile)
 .log("Just got called for Mobile");
{code}

The attribute host should not be overwritten by the host-header, if it is set explicitly on the component.

 

  was:
When defining a rest-swagger component

@Bean
 public Component mobile(CamelContext camelContext) throws URISyntaxException {
 RestSwaggerComponent mobile = new RestSwaggerComponent(camelContext);
 mobile.setHost(mobileHost);
 mobile.setBasePath(mobileBasePath);
 mobile.setSpecificationUri(
 new URI(mobileSpecificationPath));
 mobile.setComponentName("http4");
 
 return mobile;
 }

in the following route (rest-endpoint missing, this is calling direct:getMobileAccountById) the host attribute is overwritten by the previous host header (therefore removeHeader needs to be called prior to invocation of the rest-swagger endpoint):(

from("direct:getMobileAccountById").routeId("getMobileAccountById")
 .setHeader("customerId", simple("headers.mobileAndFixedlineCustomerId.split(',')[1]"))
 .removeHeader("Host")
 .to("mobile:getAccountById")
 .unmarshal(gsonDataFormatMobile)
 .log("Just got called for Mobile");

The attribute host should not be overwritten by the host-header, if it is set explicitly on the component.

 


> rest: Host header should not overwrite host attribute on rest-swagger component
> -------------------------------------------------------------------------------
>
>                 Key: CAMEL-12864
>                 URL: https://issues.apache.org/jira/browse/CAMEL-12864
>             Project: Camel
>          Issue Type: Improvement
>          Components: rest
>    Affects Versions: 2.22.1
>            Reporter: Jochen Cordes
>            Priority: Minor
>
> When defining a rest-swagger component
> {code}
> @Bean
>  public Component mobile(CamelContext camelContext) throws URISyntaxException
> { RestSwaggerComponent mobile = new RestSwaggerComponent(camelContext); mobile.setHost(mobileHost); mobile.setBasePath(mobileBasePath); mobile.setSpecificationUri( new URI(mobileSpecificationPath)); mobile.setComponentName("http4"); return mobile; }
> {code}
> in the following route (rest-endpoint missing, this is calling direct:getMobileAccountById) the host attribute is overwritten by the previous host header (therefore removeHeader needs to be called prior to invocation of the rest-swagger endpoint):(
> {code}
> from("direct:getMobileAccountById").routeId("getMobileAccountById")
>  .setHeader("customerId", simple("headers.mobileAndFixedlineCustomerId.split(',')[1]"))
>  .removeHeader("Host")
>  .to("mobile:getAccountById")
>  .unmarshal(gsonDataFormatMobile)
>  .log("Just got called for Mobile");
> {code}
> The attribute host should not be overwritten by the host-header, if it is set explicitly on the component.
>  



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)