Lenient port handling in HierarchicalUriComponents#toUriString
Closes gh-32003
This commit is contained in:
parent
2b4ffe0391
commit
50fad9ed05
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2002-2023 the original author or authors.
|
* Copyright 2002-2024 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -485,7 +485,7 @@ final class HierarchicalUriComponents extends UriComponents {
|
||||||
if (this.host != null) {
|
if (this.host != null) {
|
||||||
uriBuilder.append(this.host);
|
uriBuilder.append(this.host);
|
||||||
}
|
}
|
||||||
if (getPort() != -1) {
|
if (StringUtils.hasText(this.port) && !this.port.equals("-1")) {
|
||||||
uriBuilder.append(':').append(this.port);
|
uriBuilder.append(':').append(this.port);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -101,6 +101,12 @@ class UriComponentsTests {
|
||||||
URI.create("http://[1abc:2abc:3abc::5ABC:6abc]:8080/hotel%20list/Z%C3%BCrich"));
|
URI.create("http://[1abc:2abc:3abc::5ABC:6abc]:8080/hotel%20list/Z%C3%BCrich"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void toUriStringWithPortVariable() {
|
||||||
|
String url = "http://localhost:{port}/first";
|
||||||
|
assertThat(UriComponentsBuilder.fromUriString(url).build().toUriString()).isEqualTo(url);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void expand() {
|
void expand() {
|
||||||
UriComponents uri = UriComponentsBuilder.fromUriString("https://example.com").path("/{foo} {bar}").build();
|
UriComponents uri = UriComponentsBuilder.fromUriString("https://example.com").path("/{foo} {bar}").build();
|
||||||
|
@ -166,12 +172,6 @@ class UriComponentsTests {
|
||||||
assertThatIllegalStateException()
|
assertThatIllegalStateException()
|
||||||
.isThrownBy(uriComponents::toUri)
|
.isThrownBy(uriComponents::toUri)
|
||||||
.withMessage("The port must be an integer: XXX");
|
.withMessage("The port must be an integer: XXX");
|
||||||
assertThatIllegalStateException()
|
|
||||||
.isThrownBy(uriComponents::toUriString)
|
|
||||||
.withMessage("The port must be an integer: XXX");
|
|
||||||
assertThatIllegalStateException()
|
|
||||||
.isThrownBy(uriComponents::toString)
|
|
||||||
.withMessage("The port must be an integer: XXX");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
Loading…
Reference in New Issue