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 2017/01/21 14:43:00 UTC

svn commit: r1779734 - in /httpcomponents/httpcore/trunk/httpcore5/src: main/java/org/apache/hc/core5/net/URIBuilder.java test/java/org/apache/hc/core5/net/TestURIBuilder.java

Author: olegk
Date: Sat Jan 21 14:43:00 2017
New Revision: 1779734

URL: http://svn.apache.org/viewvc?rev=1779734&view=rev
Log:
HTTPCLIENT-1803: Improved handling of malformed paths by URIBuilder

Modified:
    httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/net/URIBuilder.java
    httpcomponents/httpcore/trunk/httpcore5/src/test/java/org/apache/hc/core5/net/TestURIBuilder.java

Modified: httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/net/URIBuilder.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/net/URIBuilder.java?rev=1779734&r1=1779733&r2=1779734&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/net/URIBuilder.java (original)
+++ httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/net/URIBuilder.java Sat Jan 21 14:43:00 2017
@@ -474,7 +474,7 @@ public class URIBuilder {
     private static String normalizePath(final String path) {
         String s = path;
         if (s == null) {
-            return null;
+            return "/";
         }
         int n = 0;
         for (; n < s.length(); n++) {
@@ -485,6 +485,9 @@ public class URIBuilder {
         if (n > 1) {
             s = s.substring(n - 1);
         }
+        if (!s.startsWith("/")) {
+            s = "/" + s;
+        }
         return s;
     }
 

Modified: httpcomponents/httpcore/trunk/httpcore5/src/test/java/org/apache/hc/core5/net/TestURIBuilder.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore5/src/test/java/org/apache/hc/core5/net/TestURIBuilder.java?rev=1779734&r1=1779733&r2=1779734&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore5/src/test/java/org/apache/hc/core5/net/TestURIBuilder.java (original)
+++ httpcomponents/httpcore/trunk/httpcore5/src/test/java/org/apache/hc/core5/net/TestURIBuilder.java Sat Jan 21 14:43:00 2017
@@ -292,4 +292,11 @@ public class TestURIBuilder {
         return parameters;
     }
 
+    @Test
+    public void testMalformedPath() throws Exception {
+        final String path = "@notexample.com/mypath";
+        final URI uri = new URIBuilder(path).setHost("example.com").build();
+        Assert.assertEquals("example.com", uri.getHost());
+    }
+
 }