Browse Source

Polishing contribution

Closes gh-27623
pull/27832/head
Rossen Stoyanchev 3 years ago
parent
commit
c6ce65ef56
  1. 15
      spring-web/src/main/java/org/springframework/web/util/UrlPathHelper.java
  2. 4
      spring-web/src/test/java/org/springframework/web/util/UrlPathHelperTests.java

15
spring-web/src/main/java/org/springframework/web/util/UrlPathHelper.java

@ -405,17 +405,18 @@ public class UrlPathHelper { @@ -405,17 +405,18 @@ public class UrlPathHelper {
* </ul>
*/
private static String getSanitizedPath(final String path) {
if (path.length() == 0) {
int start = path.indexOf("//");
if (start == -1) {
return path;
}
char[] arr = path.toCharArray();
int slowIndex = 0;
for (int fastIndex = 1; fastIndex < arr.length; fastIndex++) {
if (arr[fastIndex] != '/' || arr[slowIndex] != '/') {
arr[++slowIndex] = arr[fastIndex];
char[] content = path.toCharArray();
int slowIndex = start;
for (int fastIndex = start + 1; fastIndex < content.length; fastIndex++) {
if (content[fastIndex] != '/' || content[slowIndex] != '/') {
content[++slowIndex] = content[fastIndex];
}
}
return new String(arr, 0, slowIndex + 1);
return new String(content, 0, slowIndex + 1);
}
/**

4
spring-web/src/test/java/org/springframework/web/util/UrlPathHelperTests.java

@ -232,12 +232,12 @@ class UrlPathHelperTests { @@ -232,12 +232,12 @@ class UrlPathHelperTests {
request.setContextPath("/SPR-12372");
request.setPathInfo(null);
request.setServletPath("/foo/bar/");
request.setRequestURI("/SPR-12372/foo//bar/");
request.setRequestURI("/SPR-12372/foo///bar/");
assertThat(helper.getLookupPathForRequest(request)).isEqualTo("/foo/bar/");
request.setServletPath("/foo/bar/");
request.setRequestURI("/SPR-12372/foo/bar//");
request.setRequestURI("////SPR-12372/foo/bar//");
assertThat(helper.getLookupPathForRequest(request)).isEqualTo("/foo/bar/");

Loading…
Cancel
Save