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 );
+ }
}