From 87e257354caa52e6dad26fd0cee14cc6bfcfbe7a Mon Sep 17 00:00:00 2001 From: yz Date: Tue, 16 Apr 2024 22:34:26 +0800 Subject: [PATCH] =?UTF-8?q?hutool-http=20OkHttpEngine=E6=94=AF=E6=8C=813.3?= =?UTF-8?q?.0=E8=87=B3=E4=BB=8A=E7=9A=843.x=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/engine/okhttp/OkHttpEngine.java | 23 +++++++++---------- .../client/engine/okhttp/OkHttpResponse.java | 8 +------ 2 files changed, 12 insertions(+), 19 deletions(-) diff --git a/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/okhttp/OkHttpEngine.java b/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/okhttp/OkHttpEngine.java index ccb1113de..efaf8710d 100644 --- a/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/okhttp/OkHttpEngine.java +++ b/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/okhttp/OkHttpEngine.java @@ -85,31 +85,31 @@ public class OkHttpEngine implements ClientEngine { final OkHttpClient.Builder builder = new OkHttpClient.Builder(); - final ClientConfig config = ObjUtil.defaultIfNull(this.config, ClientConfig::of); + final ClientConfig conf = ObjUtil.defaultIfNull(this.config, ClientConfig::of); // 连接超时 - final int connectionTimeout = config.getConnectionTimeout(); + final int connectionTimeout = conf.getConnectionTimeout(); if (connectionTimeout > 0) { builder.connectTimeout(connectionTimeout, TimeUnit.MILLISECONDS); } // 读写超时 - final int readTimeout = config.getReadTimeout(); + final int readTimeout = conf.getReadTimeout(); if (readTimeout > 0) { // 读写共用读取超时 - builder.readTimeout(config.getReadTimeout(), TimeUnit.MILLISECONDS) - .writeTimeout(config.getReadTimeout(), TimeUnit.MILLISECONDS); + builder.readTimeout(conf.getReadTimeout(), TimeUnit.MILLISECONDS) + .writeTimeout(conf.getReadTimeout(), TimeUnit.MILLISECONDS); } // SSL - final SSLInfo sslInfo = config.getSslInfo(); - if (null != sslInfo) { + final SSLInfo sslInfo = conf.getSslInfo(); + if (null != sslInfo && null != sslInfo.getSocketFactory() && null != sslInfo.getTrustManager()){ builder.sslSocketFactory(sslInfo.getSocketFactory(), sslInfo.getTrustManager()); } // 设置代理 - setProxy(builder, config); + setProxy(builder, conf); // 默认关闭自动跳转 - builder.setFollowRedirects$okhttp(false); + builder.followRedirects(false); this.client = builder.build(); } @@ -127,7 +127,6 @@ public class OkHttpEngine implements ClientEngine { // 填充方法 final String method = message.method().name(); final HttpBody body = message.handledBody(); - // if (HttpMethod.permitsRequestBody(method)) { if (null != body) { // 为了兼容支持rest请求,在此不区分是否为GET等方法,一律按照body是否有值填充,兼容 builder.method(method, new OkHttpRequestBody(body)); @@ -150,10 +149,10 @@ public class OkHttpEngine implements ClientEngine { private static void setProxy(final OkHttpClient.Builder builder, final ClientConfig config) { final HttpProxy proxy = config.getProxy(); if (null != proxy) { - builder.setProxy$okhttp(proxy); + builder.proxy(proxy); final PasswordAuthentication auth = proxy.getAuth(); if (null != auth) { - builder.setProxyAuthenticator$okhttp(new BasicProxyAuthenticator(auth)); + builder.proxyAuthenticator(new BasicProxyAuthenticator(auth)); } } } diff --git a/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/okhttp/OkHttpResponse.java b/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/okhttp/OkHttpResponse.java index 0ad89331c..cdb9c6538 100644 --- a/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/okhttp/OkHttpResponse.java +++ b/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/okhttp/OkHttpResponse.java @@ -60,13 +60,7 @@ public class OkHttpResponse implements Response { @Override public Map> headers() { - final Headers headers = rawRes.headers(); - final HashMap> result = new LinkedHashMap<>(headers.size(), 1); - for (final Pair header : headers) { - final List valueList = result.computeIfAbsent(header.getFirst(), k -> new ArrayList<>()); - valueList.add(header.getSecond()); - } - return result; + return rawRes.headers().toMultimap(); } @Override