You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2019/06/18 14:59:54 UTC
[httpcomponents-client] branch uri-rewrite-improvements created
(now 94fc91d)
This is an automated email from the ASF dual-hosted git repository.
olegk pushed a change to branch uri-rewrite-improvements
in repository https://gitbox.apache.org/repos/asf/httpcomponents-client.git.
at 94fc91d Preserve original encoding of the URI path component if the URI is valid
This branch includes the following new commits:
new 94fc91d Preserve original encoding of the URI path component if the URI is valid
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[httpcomponents-client] 01/01: Preserve original encoding of the
URI path component if the URI is valid
Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
olegk pushed a commit to branch uri-rewrite-improvements
in repository https://gitbox.apache.org/repos/asf/httpcomponents-client.git
commit 94fc91dae266754056585bb847a026454d7da014
Author: Oleg Kalnichevski <ol...@apache.org>
AuthorDate: Tue Jun 18 16:59:37 2019 +0200
Preserve original encoding of the URI path component if the URI is valid
---
.../src/main/java/org/apache/http/client/utils/URIUtils.java | 7 +++++--
.../src/test/java/org/apache/http/client/utils/TestURIUtils.java | 2 ++
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/httpclient/src/main/java/org/apache/http/client/utils/URIUtils.java b/httpclient/src/main/java/org/apache/http/client/utils/URIUtils.java
index 6a6a742..8eb7667 100644
--- a/httpclient/src/main/java/org/apache/http/client/utils/URIUtils.java
+++ b/httpclient/src/main/java/org/apache/http/client/utils/URIUtils.java
@@ -217,14 +217,17 @@ public class URIUtils {
uribuilder.setFragment(null);
}
if (flags.contains(UriFlag.NORMALIZE)) {
- final List<String> pathSegments = new ArrayList<String>(uribuilder.getPathSegments());
+ final List<String> originalPathSegments = uribuilder.getPathSegments();
+ final List<String> pathSegments = new ArrayList<String>(originalPathSegments);
for (final Iterator<String> it = pathSegments.iterator(); it.hasNext(); ) {
final String pathSegment = it.next();
if (pathSegment.isEmpty() && it.hasNext()) {
it.remove();
}
}
- uribuilder.setPathSegments(pathSegments);
+ if (pathSegments.size() != originalPathSegments.size()) {
+ uribuilder.setPathSegments(pathSegments);
+ }
}
if (uribuilder.isPathEmpty()) {
uribuilder.setPathSegments("");
diff --git a/httpclient/src/test/java/org/apache/http/client/utils/TestURIUtils.java b/httpclient/src/test/java/org/apache/http/client/utils/TestURIUtils.java
index 4c81ef2..1899666 100644
--- a/httpclient/src/test/java/org/apache/http/client/utils/TestURIUtils.java
+++ b/httpclient/src/test/java/org/apache/http/client/utils/TestURIUtils.java
@@ -82,6 +82,8 @@ public class TestURIUtils {
Assert.assertEquals("http://thishost/Fragment_identifier%23Examples",
URIUtils.rewriteURI(
URI.create("http://thishost/Fragment_identifier%23Examples")).toString());
+ Assert.assertEquals("http://thathost/foo%3Abar", URIUtils.rewriteURI(
+ URI.create("http://thishost/foo%3Abar"), target).toString());
}
@Test