mirror of
https://github.com/spring-projects/spring-framework
synced 2026-06-08 17:33:33 +00:00
Fix RfcUriParser parsing for single char fragments
Prior to this commit, the `RfcUriParser` would ignore URI fragments if their length is < 2. This commit fixes the length check to allow for single char fragments when parsing URIs. Fixes gh-36029
This commit is contained in:
@@ -556,7 +556,7 @@ abstract class RfcUriParser {
|
||||
}
|
||||
|
||||
public void captureFragmentIfNotEmpty() {
|
||||
if (this.index > this.componentIndex + 1) {
|
||||
if (this.index > this.componentIndex) {
|
||||
this.fragment = captureComponent("fragment");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -930,4 +930,13 @@ class UriComponentsBuilderTests {
|
||||
assertThat(uri.toString()).isEqualTo("ws://localhost:7777/test");
|
||||
}
|
||||
|
||||
@ParameterizedTest // gh-36029
|
||||
@EnumSource
|
||||
void singleCharFragment(ParserType parserType) {
|
||||
URI uri = UriComponentsBuilder
|
||||
.fromUriString("https://localhost/resource#a", parserType)
|
||||
.build().toUri();
|
||||
assertThat(uri.toString()).isEqualTo("https://localhost/resource#a");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user