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