Browse Source

Support empty file names in UriUtils::extractFileExtension

Closes gh-27639
pull/27832/head
Arjen Poutsma 4 years ago
parent
commit
722ab25f27
  1. 2
      spring-web/src/main/java/org/springframework/web/util/UriUtils.java
  2. 1
      spring-web/src/test/java/org/springframework/web/util/UriUtilsTests.java

2
spring-web/src/main/java/org/springframework/web/util/UriUtils.java

@ -407,7 +407,7 @@ public abstract class UriUtils { @@ -407,7 +407,7 @@ public abstract class UriUtils {
int paramIndex = path.indexOf(';', begin);
end = (paramIndex != -1 && paramIndex < end ? paramIndex : end);
int extIndex = path.lastIndexOf('.', end);
if (extIndex != -1 && extIndex > begin) {
if (extIndex != -1 && extIndex >= begin) {
return path.substring(extIndex + 1, end);
}
return null;

1
spring-web/src/test/java/org/springframework/web/util/UriUtilsTests.java

@ -133,6 +133,7 @@ public class UriUtilsTests { @@ -133,6 +133,7 @@ public class UriUtilsTests {
assertThat(UriUtils.extractFileExtension("/products;q=11/view.html?param=/path/a.do")).isEqualTo("html");
assertThat(UriUtils.extractFileExtension("/products;q=11/view.html;r=22?param=/path/a.do")).isEqualTo("html");
assertThat(UriUtils.extractFileExtension("/products;q=11/view.html;r=22;s=33?param=/path/a.do")).isEqualTo("html");
assertThat(UriUtils.extractFileExtension("/products/.html")).isEqualTo("html");
}
}

Loading…
Cancel
Save