Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Won't Fix
-
4.5.7, 4.5.8
-
None
-
None
Description
In 4.5.7, the behavior of URIBuilder changed in order to address HTTPCLIENT-1960. Since that version was released, I have seen a concerning number of users complain that this change has broken their code (see issue links). In 4.5.8, as a result of HTTPCLIENT-1968, an option was added to allow users to opt in to the old behavior, but the new behavior is what they will get by default. This problem is difficult to work around for developers who cannot exercise exact control over the runtime version of HttpClient: the method they need might not be there, and if it is, it needs to be invoked reflectively, or in a way that tolerates a NoSuchMethodError.
For the sake of compatibility, I propose that we change the default value of normalizeUri to false. This will be the default on the 4.5.x line only; the 5.0.x line, as well as any future 4.6.x line, will normalize by default (if an option is needed at all).
Attachments
Issue Links
- causes
-
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
-
HTTPCLIENT-1968 Encoded forward slashes are not preserved when rewriting URI
- Resolved
- is related to
-
KNOX-1842 Upgrade httpclient to 4.5.10
- Resolved
- links to