Skip to content

Commit d3d61d7

Browse files
committed
1 parent 4bee1ba commit d3d61d7

File tree

6 files changed

+49
-47
lines changed

6 files changed

+49
-47
lines changed

weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/MediaDownloadRequestExecutor.java

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -53,19 +53,17 @@ public File execute(CloseableHttpClient httpclient, HttpHost httpProxy, String u
5353
httpGet.setConfig(config);
5454
}
5555

56-
CloseableHttpResponse response = httpclient.execute(httpGet);
56+
try (CloseableHttpResponse response = httpclient.execute(httpGet)) {
5757

58-
Header[] contentTypeHeader = response.getHeaders("Content-Type");
59-
if (contentTypeHeader != null && contentTypeHeader.length > 0) {
60-
// 下载媒体文件出错
61-
if (ContentType.TEXT_PLAIN.getMimeType().equals(contentTypeHeader[0].getValue())) {
62-
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
63-
throw new WxErrorException(WxError.fromJson(responseContent));
58+
Header[] contentTypeHeader = response.getHeaders("Content-Type");
59+
if (contentTypeHeader != null && contentTypeHeader.length > 0) {
60+
// 下载媒体文件出错
61+
if (ContentType.TEXT_PLAIN.getMimeType().equals(contentTypeHeader[0].getValue())) {
62+
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
63+
throw new WxErrorException(WxError.fromJson(responseContent));
64+
}
6465
}
65-
}
66-
InputStream inputStream = null;
67-
try {
68-
inputStream = InputStreamResponseHandler.INSTANCE.handleResponse(response);
66+
InputStream inputStream = InputStreamResponseHandler.INSTANCE.handleResponse(response);
6967

7068
// 视频文件不支持下载
7169
String fileName = getFileName(response);
@@ -75,11 +73,9 @@ public File execute(CloseableHttpClient httpclient, HttpHost httpProxy, String u
7573
String[] name_ext = fileName.split("\\.");
7674
File localFile = FileUtils.createTmpFile(inputStream, name_ext[0], name_ext[1], tmpDirFile);
7775
return localFile;
78-
} finally {
79-
if (inputStream != null) {
80-
inputStream.close();
81-
}
76+
8277
}
78+
8379
}
8480

8581
protected String getFileName(CloseableHttpResponse response) {

weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/MediaUploadRequestExecutor.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,14 @@ public WxMediaUploadResult execute(CloseableHttpClient httpclient, HttpHost http
3939
httpPost.setEntity(entity);
4040
httpPost.setHeader("Content-Type", ContentType.MULTIPART_FORM_DATA.toString());
4141
}
42-
CloseableHttpResponse response = httpclient.execute(httpPost);
43-
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
44-
WxError error = WxError.fromJson(responseContent);
45-
if (error.getErrorCode() != 0) {
46-
throw new WxErrorException(error);
42+
try (CloseableHttpResponse response = httpclient.execute(httpPost)) {
43+
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
44+
WxError error = WxError.fromJson(responseContent);
45+
if (error.getErrorCode() != 0) {
46+
throw new WxErrorException(error);
47+
}
48+
return WxMediaUploadResult.fromJson(responseContent);
4749
}
48-
return WxMediaUploadResult.fromJson(responseContent);
4950
}
5051

5152
}

weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/SimpleGetRequestExecutor.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,14 @@ public String execute(CloseableHttpClient httpclient, HttpHost httpProxy, String
3333
httpGet.setConfig(config);
3434
}
3535

36-
CloseableHttpResponse response = httpclient.execute(httpGet);
37-
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
38-
WxError error = WxError.fromJson(responseContent);
39-
if (error.getErrorCode() != 0) {
40-
throw new WxErrorException(error);
36+
try (CloseableHttpResponse response = httpclient.execute(httpGet)) {
37+
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
38+
WxError error = WxError.fromJson(responseContent);
39+
if (error.getErrorCode() != 0) {
40+
throw new WxErrorException(error);
41+
}
42+
return responseContent;
4143
}
42-
return responseContent;
4344
}
4445

4546
}

weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/SimplePostRequestExecutor.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,14 @@ public String execute(CloseableHttpClient httpclient, HttpHost httpProxy, String
4040
httpPost.setEntity(entity);
4141
}
4242

43-
CloseableHttpResponse response = httpclient.execute(httpPost);
44-
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
45-
WxError error = WxError.fromJson(responseContent);
46-
if (error.getErrorCode() != 0) {
47-
throw new WxErrorException(error);
43+
try (CloseableHttpResponse response = httpclient.execute(httpPost)) {
44+
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
45+
WxError error = WxError.fromJson(responseContent);
46+
if (error.getErrorCode() != 0) {
47+
throw new WxErrorException(error);
48+
}
49+
return responseContent;
4850
}
49-
return responseContent;
5051
}
5152

5253
}

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpServiceImpl.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,10 @@ public String getAccessToken(boolean forceRefresh) throws WxErrorException {
117117
httpGet.setConfig(config);
118118
}
119119
CloseableHttpClient httpclient = getHttpclient();
120-
CloseableHttpResponse response = httpclient.execute(httpGet);
121-
String resultContent = new BasicResponseHandler().handleResponse(response);
120+
String resultContent = null;
121+
try (CloseableHttpResponse response = httpclient.execute(httpGet)) {
122+
resultContent = new BasicResponseHandler().handleResponse(response);
123+
}
122124
WxError error = WxError.fromJson(resultContent);
123125
if (error.getErrorCode() != 0) {
124126
throw new WxErrorException(error);

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/QrCodeRequestExecutor.java

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -47,20 +47,21 @@ public File execute(CloseableHttpClient httpclient, HttpHost httpProxy, String u
4747
httpGet.setConfig(config);
4848
}
4949

50-
CloseableHttpResponse response = httpclient.execute(httpGet);
51-
52-
Header[] contentTypeHeader = response.getHeaders("Content-Type");
53-
if (contentTypeHeader != null && contentTypeHeader.length > 0) {
54-
// 出错
55-
if (ContentType.TEXT_PLAIN.getMimeType().equals(contentTypeHeader[0].getValue())) {
56-
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
57-
throw new WxErrorException(WxError.fromJson(responseContent));
50+
try (CloseableHttpResponse response = httpclient.execute(httpGet)) {
51+
Header[] contentTypeHeader = response.getHeaders("Content-Type");
52+
if (contentTypeHeader != null && contentTypeHeader.length > 0) {
53+
// 出错
54+
if (ContentType.TEXT_PLAIN.getMimeType().equals(contentTypeHeader[0].getValue())) {
55+
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
56+
throw new WxErrorException(WxError.fromJson(responseContent));
57+
}
5858
}
59+
InputStream inputStream = InputStreamResponseHandler.INSTANCE.handleResponse(response);
60+
61+
File localFile = FileUtils.createTmpFile(inputStream, UUID.randomUUID().toString(), "jpg");
62+
return localFile;
5963
}
60-
InputStream inputStream = InputStreamResponseHandler.INSTANCE.handleResponse(response);
61-
62-
File localFile = FileUtils.createTmpFile(inputStream, UUID.randomUUID().toString(), "jpg");
63-
return localFile;
64+
6465
}
6566

6667
}

0 commit comments

Comments
 (0)