This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-wagon.git


The following commit(s) were added to refs/heads/master by this push:
     new 370c89f  [WAGON-602] [Regression] Preserve trailing slash in encoded 
URL
370c89f is described below

commit 370c89fd76be6297d7539181708582ae235a362e
Author: Anatolii Volkodav <[email protected]>
AuthorDate: Tue Nov 24 14:04:29 2020 +0100

    [WAGON-602] [Regression] Preserve trailing slash in encoded URL
    
    This closes #74
---
 .../org/apache/maven/wagon/shared/http/EncodingUtil.java  |  8 +++++++-
 .../apache/maven/wagon/shared/http/EncodingUtilTest.java  | 15 +++++++++++++++
 2 files changed, 22 insertions(+), 1 deletion(-)

diff --git 
a/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/EncodingUtil.java
 
b/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/EncodingUtil.java
index 67f5e5f..c0a992c 100644
--- 
a/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/EncodingUtil.java
+++ 
b/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/EncodingUtil.java
@@ -92,7 +92,13 @@ public class EncodingUtil
     {
         String[] pathSegments = path == null ? new String[0] : path.split( "/" 
);
 
-        return encodeURLToString( baseUrl, pathSegments );
+        String encodedUrl = encodeURLToString( baseUrl, pathSegments );
+        if ( path != null && path.endsWith( "/" ) )
+        {
+            return encodedUrl + "/";
+        }
+
+        return encodedUrl;
     }
 
     /**
diff --git 
a/wagon-providers/wagon-http-shared/src/test/java/org/apache/maven/wagon/shared/http/EncodingUtilTest.java
 
b/wagon-providers/wagon-http-shared/src/test/java/org/apache/maven/wagon/shared/http/EncodingUtilTest.java
index 4ec549c..639ad1f 100644
--- 
a/wagon-providers/wagon-http-shared/src/test/java/org/apache/maven/wagon/shared/http/EncodingUtilTest.java
+++ 
b/wagon-providers/wagon-http-shared/src/test/java/org/apache/maven/wagon/shared/http/EncodingUtilTest.java
@@ -27,6 +27,13 @@ import java.net.URISyntaxException;
 public class EncodingUtilTest
     extends TestCase
 {
+    public void testEncodeURLWithTrailingSlash()
+    {
+        String encodedURL = EncodingUtil.encodeURLToString( 
"https://host:1234/test";, "demo/" );
+
+        assertEquals( "https://host:1234/test/demo/";, encodedURL );
+    }
+
     public void testEncodeURLWithSpaces()
         throws URISyntaxException, MalformedURLException
     {
@@ -115,4 +122,12 @@ public class EncodingUtilTest
 
         assertEquals( "file://host:1", encodedURL );
     }
+
+    public void testEncodeURLWithNonLatin()
+            throws URISyntaxException, MalformedURLException
+    {
+        String encodedURL = EncodingUtil.encodeURLToString( "file://host:1", 
"пипец/" );
+
+        assertEquals( "file://host:1/%D0%BF%D0%B8%D0%BF%D0%B5%D1%86/", 
encodedURL );
+    }
 }

Reply via email to