Description
URIs that contain an encoded forward slash (%2F) are no longer preserved when the HTTP client executes. I came across this when upgrading from 4.5.2 to 4.5.7 and my requests that contained an encoded forward slash suddenly started failing. The appears to be due to decoding and re-encoding of the path that takes place in the URIUtils#rewriteURI method. I've attached a patch that restores the old behavior but if a URI contains two slashes in a row in addition to an encoded slash the encoded forward slash will be decoded.
Attachments
Attachments
Issue Links
- causes
-
HTTPCLIENT-1983 URIBuilder normalization change is significantly breaking
- Resolved
-
KNOX-1755 Revert upgrade httpclient to 4.5.7 due to HTTPCLIENT-1968
- Closed
-
CXF-7955 Update HttpComponents client to 4.5.8 and core 4.4.11
- Closed
- is caused by
-
HTTPCLIENT-1960 URIBuilder incorrect handling of multiple leading slashes in path component
- Resolved
- is duplicated by
-
HTTPCLIENT-1975 Error handling double url-encoded forward slashes
- Resolved
- is related to
-
KNOX-1842 Upgrade httpclient to 4.5.10
- Resolved
- relates to
-
HTTPCLIENT-1984 Add normalize URI to RequestConfig copy constructor
- Resolved
- links to