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

Oleg Kalnichevski updated HTTPCLIENT-1658:
------------------------------------------
    Labels: regression  (was: )

> Possible incorrect interaction in RequestBuilder.copy(...) and setURI(...)
> --------------------------------------------------------------------------
>
>                 Key: HTTPCLIENT-1658
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1658
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient
>    Affects Versions: 4.4 Final, 4.4.1, 4.5
>            Reporter: Kevin Fongson
>            Priority: Minor
>              Labels: regression
>             Fix For: 4.5.1
>
>
> I recently upgraded my httpclient from 4.3.5 to 4.5 and noticed a difference 
> in behavior in RequestBuilder. 
> {code:title=Example.java|borderStyle=solid}
>     @Test
>     public void testUrlParams() {
>         URI uri1 = URI.create("http://host1.com/path?param=something";);
>         URI uri2 = 
> URI.create("http://host2.com/path?param=somethingdifferent";);
>         HttpRequest getRequest = new HttpGet(uri1);
>         HttpUriRequest uriRequest = 
> RequestBuilder.copy(getRequest).setUri(uri2).build();
>         Assert.assertEquals(uriRequest.getURI(), uri2);
>     }
>     // Output:
>     // java.lang.AssertionError: expected 
> [http://host2.com/path?param=somethingdifferent] but found 
> [http://host2.com/path?param=somethingdifferent&param=something]
> {code}
> I had expected the setUri(...) to completely overwrite the URI of the copied 
> request, but the URL parameters from the copied request were also appended to 
> the resulting request URI. This is different than how it behaves in 4.3.5. 
> Looking at version 4.5 of RequestBuilder, the reason why this happens is that 
> the parameters are extracted from the URI in line 305. They are then set on 
> line 488 when the resulting request is built, regardless of whether the set 
> URI already has parameters.
> Is this working as intended?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to