From 75784872845779ebd5f0a1c6b175f7569dc40982 Mon Sep 17 00:00:00 2001 From: fit2-zhao Date: Tue, 24 Dec 2024 10:21:07 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BD=BF=E7=94=A8=20try-with-resou?= =?UTF-8?q?rces=20=E5=A4=84=E7=90=86=E7=9B=B8=E5=85=B3=E6=B5=81=E5=85=B3?= =?UTF-8?q?=E9=97=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/utils/HttpClientUtil.java | 53 ++++++++----------- 1 file changed, 21 insertions(+), 32 deletions(-) diff --git a/sdk/common/src/main/java/io/dataease/utils/HttpClientUtil.java b/sdk/common/src/main/java/io/dataease/utils/HttpClientUtil.java index 79f799aed3..e212d7b96b 100755 --- a/sdk/common/src/main/java/io/dataease/utils/HttpClientUtil.java +++ b/sdk/common/src/main/java/io/dataease/utils/HttpClientUtil.java @@ -66,8 +66,7 @@ public class HttpClientUtil { .register("http", new PlainConnectionSocketFactory()) .register("https", socketFactory).build(); HttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager(registry); - CloseableHttpClient httpClient = HttpClients.custom().setConnectionManager(connManager).build(); - return httpClient; + return HttpClients.custom().setConnectionManager(connManager).build(); } else { // http return HttpClientBuilder.create().build(); @@ -362,41 +361,31 @@ public class HttpClientUtil { } public static byte[] downFromRemote(String url, HttpClientConfig config) { - HttpGet httpGet = new HttpGet(url); - CloseableHttpClient httpClient = buildHttpClient(url); - - try { + try (CloseableHttpClient httpClient = buildHttpClient(url)) { + HttpGet httpGet = new HttpGet(url); + // 设置请求配置 httpGet.setConfig(config.buildRequestConfig()); - Map header = config.getHeader(); - Iterator var5 = header.keySet().iterator(); - - while (var5.hasNext()) { - String key = (String) var5.next(); - httpGet.addHeader(key, (String) header.get(key)); - } + // 设置请求头 + config.getHeader().forEach(httpGet::addHeader); HttpResponse response = httpClient.execute(httpGet); - InputStream inputStream = response.getEntity().getContent(); - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - byte[] buffer = new byte[1024]; - int bytesRead; - while ((bytesRead = inputStream.read(buffer)) != -1) { - outputStream.write(buffer, 0, bytesRead); + try (InputStream inputStream = response.getEntity().getContent(); + ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) { + + byte[] buffer = new byte[1024]; + int bytesRead; + + // 读取响应内容并写入输出流 + while ((bytesRead = inputStream.read(buffer)) != -1) { + outputStream.write(buffer, 0, bytesRead); + } + + return outputStream.toByteArray(); } - - byte[] var10 = outputStream.toByteArray(); - return var10; - } catch (Exception var19) { - logger.error("HttpClient查询失败", var19); - throw new RuntimeException("HttpClient查询失败: " + var19.getMessage()); - } finally { - try { - httpClient.close(); - } catch (Exception var18) { - logger.error("HttpClient关闭连接失败", var18); - } - + } catch (Exception e) { + logger.error("HttpClient查询失败", e); + throw new RuntimeException("HttpClient查询失败: " + e.getMessage(), e); } }