mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
add test
This commit is contained in:
parent
75933bf214
commit
191e757dc9
@ -12,6 +12,7 @@
|
||||
|
||||
package org.dromara.hutool.core.net.url;
|
||||
|
||||
import org.dromara.hutool.core.exception.HutoolException;
|
||||
import org.dromara.hutool.core.lang.Assert;
|
||||
import org.dromara.hutool.core.lang.builder.Builder;
|
||||
import org.dromara.hutool.core.text.StrUtil;
|
||||
@ -565,7 +566,7 @@ public final class UrlBuilder implements Builder<String> {
|
||||
try {
|
||||
return new URL(getSchemeWithDefault(), host, port, fileBuilder.toString(), handler);
|
||||
} catch (final MalformedURLException e) {
|
||||
return null;
|
||||
throw new HutoolException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@ -578,7 +579,7 @@ public final class UrlBuilder implements Builder<String> {
|
||||
try {
|
||||
return toURL().toURI();
|
||||
} catch (final URISyntaxException e) {
|
||||
return null;
|
||||
throw new HutoolException(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -43,7 +43,6 @@ import org.dromara.hutool.http.ssl.SSLInfo;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.PasswordAuthentication;
|
||||
import java.net.URI;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@ -142,11 +141,10 @@ public class HttpClient4Engine implements ClientEngine {
|
||||
private static HttpUriRequest buildRequest(final Request message) {
|
||||
final UrlBuilder url = message.handledUrl();
|
||||
Assert.notNull(url, "Request URL must be not null!");
|
||||
final URI uri = url.toURI();
|
||||
|
||||
final RequestBuilder requestBuilder = RequestBuilder
|
||||
.create(message.method().name())
|
||||
.setUri(uri);
|
||||
.setUri(url.toURI());
|
||||
|
||||
// 填充自定义头
|
||||
message.headers().forEach((k, v1) -> v1.forEach((v2) -> requestBuilder.addHeader(k, v2)));
|
||||
|
@ -46,7 +46,6 @@ import org.dromara.hutool.http.ssl.SSLInfo;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.PasswordAuthentication;
|
||||
import java.net.URI;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@ -143,9 +142,8 @@ public class HttpClient5Engine implements ClientEngine {
|
||||
private static ClassicHttpRequest buildRequest(final Request message) {
|
||||
final UrlBuilder url = message.handledUrl();
|
||||
Assert.notNull(url, "Request URL must be not null!");
|
||||
final URI uri = url.toURI();
|
||||
|
||||
final ClassicHttpRequest request = new HttpUriRequestBase(message.method().name(), uri);
|
||||
final ClassicHttpRequest request = new HttpUriRequestBase(message.method().name(), url.toURI());
|
||||
|
||||
// 填充自定义头
|
||||
request.setHeaders(toHeaderList(message.headers()).toArray(new Header[0]));
|
||||
|
@ -0,0 +1,30 @@
|
||||
package org.dromara.hutool.http;
|
||||
|
||||
import org.dromara.hutool.core.date.DateUtil;
|
||||
import org.dromara.hutool.core.net.url.UrlBuilder;
|
||||
import org.dromara.hutool.core.util.CharsetUtil;
|
||||
import org.dromara.hutool.http.client.Request;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class IssueIA80XITest {
|
||||
|
||||
@Test
|
||||
void urlWithFormTest() {
|
||||
final Map<String, Object> param = new LinkedHashMap<>();
|
||||
param.put("date", DateUtil.parse("2024-06-25 14:16:47"));
|
||||
|
||||
// 未经过自动编码的
|
||||
final Request request = Request.of("http://api.hutool.cn/login?type=aaa").form(param);
|
||||
final UrlBuilder urlBuilder = request.handledUrl();
|
||||
Assertions.assertEquals("http://api.hutool.cn/login?type=aaa&date=2024-06-25 14:16:47", urlBuilder.toString());
|
||||
|
||||
// 经过自动编码的
|
||||
final Request request2 = Request.of("http://api.hutool.cn/login?type=aaa", CharsetUtil.UTF_8).form(param);
|
||||
final UrlBuilder urlBuilder2 = request2.handledUrl();
|
||||
Assertions.assertEquals("http://api.hutool.cn/login?type=aaa&date=2024-06-25%2014:16:47", urlBuilder2.toString());
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user