!835 add UrlBuilder getPortWithDefault

Merge pull request !835 from 不忘初心/v5-dev
This commit is contained in:
Looly 2022-10-13 09:41:56 +00:00 committed by Gitee
commit 364d6a2560
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 50 additions and 32 deletions

View File

@ -291,6 +291,20 @@ public final class UrlBuilder implements Builder<String> {
return port;
}
/**
* 获取端口如果未自定义返回协议默认端口
*
* @return 端口
*/
public int getPortWithDefault() {
int port = getPort();
if (port > 0) {
return port;
}
URL url = this.toURL();
return url.getDefaultPort();
}
/**
* 设置端口默认-1
*

View File

@ -16,8 +16,10 @@ public class UrlBuilderTest {
@Test
public void buildTest() {
final String buildUrl = UrlBuilder.of().setHost("www.hutool.cn").build();
UrlBuilder builder = UrlBuilder.of();
final String buildUrl = builder.setHost("www.hutool.cn").build();
Assert.assertEquals("http://www.hutool.cn/", buildUrl);
Assert.assertEquals(buildUrl, 80, builder.getPortWithDefault());
}
@Test
@ -26,9 +28,11 @@ public class UrlBuilderTest {
String buildUrl = UrlBuilder.of().setScheme("http").setHost("192.168.1.1").setPort(8080).setWithEndTag(false).build();
Assert.assertEquals("http://192.168.1.1:8080", buildUrl);
buildUrl = UrlBuilder.of().setScheme("http").setHost("192.168.1.1").setPort(8080).addQuery("url", "http://192.168.1.1/test/1")
UrlBuilder urlBuilder = UrlBuilder.of();
buildUrl = urlBuilder.setScheme("http").setHost("192.168.1.1").setPort(8080).addQuery("url", "http://192.168.1.1/test/1")
.setWithEndTag(false).build();
Assert.assertEquals("http://192.168.1.1:8080?url=http://192.168.1.1/test/1", buildUrl);
Assert.assertEquals(buildUrl, 8080, urlBuilder.getPortWithDefault());
}
@Test