Kristian Kraljic created HTTPCLIENT-2011:
--------------------------------------------

             Summary: Encoded plus sign (%2B) is not preserved when URI 
contains an encoded forward slash (%2F)
                 Key: HTTPCLIENT-2011
                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2011
             Project: HttpComponents HttpClient
          Issue Type: Bug
    Affects Versions: 4.5.9
            Reporter: Kristian Kraljic


This issue is likely related to issue HTTPCLIENT-1968.

For URIs that contain an encoded forward slash (%2F), encoded plus signs (%2B) 
are no longer preserved when the HTTP client executes. The behaviour is as 
expected when no endocded forward slash is part of the URI. In my tests, in 
case the URL contains an encoded forward slash, all encoded plus signs will be 
replaced by unencoded ones, leading to them beeing replaced with a space when 
decoding the URI:

{noformat}
Expected behaviour w/o encoded forward slash:
Foo%2BBar -> Foo+Bar
Foo%2BBar%2ABaz -> Foo+Bar*Baz

Unexpected behaviour w/ encoded forward slash:
Foo%2BBar%2FBaz -> Foo Bar/Baz
Foo%2BBar%2ABaz%2FQux -> Foo Bar*Baz/Qux
{noformat}

Similar to the issue HTTPCLIENT-1968, downgrading the HTTP Client to 4.5.2 
solved the issue for me. Therefore I would suggest either the same decoding / 
re-encoding step as in issue HTTPCLIENT-1968 or even the fix of HTTPCLIENT-1968 
causes this behaviour.



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

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

Reply via email to