parent
7dc522f0d6
commit
2b4cd5cf56
|
@ -420,13 +420,15 @@ final class HierarchicalUriComponents extends UriComponents {
|
|||
Assert.state(!this.encodeState.equals(EncodeState.FULLY_ENCODED),
|
||||
"URI components already encoded, and could not possibly contain '{' or '}'.");
|
||||
|
||||
// Array-based vars rely on the below order..
|
||||
|
||||
String schemeTo = expandUriComponent(getScheme(), uriVariables, this.variableEncoder);
|
||||
String fragmentTo = expandUriComponent(getFragment(), uriVariables, this.variableEncoder);
|
||||
String userInfoTo = expandUriComponent(this.userInfo, uriVariables, this.variableEncoder);
|
||||
String hostTo = expandUriComponent(this.host, uriVariables, this.variableEncoder);
|
||||
String portTo = expandUriComponent(this.port, uriVariables, this.variableEncoder);
|
||||
PathComponent pathTo = this.path.expand(uriVariables, this.variableEncoder);
|
||||
MultiValueMap<String, String> queryParamsTo = expandQueryParams(uriVariables);
|
||||
String fragmentTo = expandUriComponent(getFragment(), uriVariables, this.variableEncoder);
|
||||
|
||||
return new HierarchicalUriComponents(schemeTo, fragmentTo, userInfoTo,
|
||||
hostTo, portTo, pathTo, queryParamsTo, this.encodeState, this.variableEncoder);
|
||||
|
|
|
@ -130,6 +130,15 @@ public class UriComponentsTests {
|
|||
UriComponentsBuilder.fromUriString("/myurl/?q={{{{").encode().build().toUriString());
|
||||
}
|
||||
|
||||
@Test // gh-22447
|
||||
public void expandWithFragmentOrder() {
|
||||
UriComponents uriComponents = UriComponentsBuilder
|
||||
.fromUriString("http://{host}/{path}#{fragment}").build()
|
||||
.expand("example.com", "foo", "bar");
|
||||
|
||||
assertEquals("http://example.com/foo#bar", uriComponents.toUriString());
|
||||
}
|
||||
|
||||
@Test // SPR-12123
|
||||
public void port() {
|
||||
UriComponents uri1 = fromUriString("http://example.com:8080/bar").build();
|
||||
|
|
Loading…
Reference in New Issue