From 360b6615a113fd0e2cc10139854b2ecee3736e47 Mon Sep 17 00:00:00 2001 From: yndu13 Date: Thu, 23 Mar 2023 10:38:48 +0800 Subject: [PATCH] support port for url request --- src/main/java/com/aliyun/tea/Tea.java | 3 +++ src/test/java/com/aliyun/tea/TeaTest.java | 14 ++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/src/main/java/com/aliyun/tea/Tea.java b/src/main/java/com/aliyun/tea/Tea.java index d0f4084..9ec224c 100644 --- a/src/main/java/com/aliyun/tea/Tea.java +++ b/src/main/java/com/aliyun/tea/Tea.java @@ -23,6 +23,9 @@ private static String composeUrl(TeaRequest request) { StringBuilder urlBuilder = new StringBuilder(); urlBuilder.append(protocol); urlBuilder.append("://").append(host); + if (null != request.port) { + urlBuilder.append(":").append(request.port); + } if (null != request.pathname) { urlBuilder.append(request.pathname); } diff --git a/src/test/java/com/aliyun/tea/TeaTest.java b/src/test/java/com/aliyun/tea/TeaTest.java index 68cbe6b..4ff519f 100644 --- a/src/test/java/com/aliyun/tea/TeaTest.java +++ b/src/test/java/com/aliyun/tea/TeaTest.java @@ -64,6 +64,20 @@ public void composeUrlTest() throws NoSuchMethodException, InvocationTargetExcep request.query.put("test", "null"); str = (String) composeUrl.invoke(Tea.class, request); Assert.assertEquals("HTTP://test?test&test=null", str); + + request.query = new HashMap<>(); + request.query.put("host", "test"); + request.pathname = "/test"; + request.protocol = "http"; + request.port = 80; + str = (String) composeUrl.invoke(Tea.class, request); + Assert.assertEquals("http://test:80/test?host=test", str); + request.port = 443; + str = (String) composeUrl.invoke(Tea.class, request); + Assert.assertEquals("http://test:443/test?host=test", str); + request.port = null; + str = (String) composeUrl.invoke(Tea.class, request); + Assert.assertEquals("http://test/test?host=test", str); } @Test