| @@ -53,19 +53,17 @@ public class MediaDownloadRequestExecutor implements RequestExecutor<File, Strin | |||||
| httpGet.setConfig(config); | httpGet.setConfig(config); | ||||
| } | } | ||||
| CloseableHttpResponse response = httpclient.execute(httpGet); | |||||
| try (CloseableHttpResponse response = httpclient.execute(httpGet)) { | |||||
| Header[] contentTypeHeader = response.getHeaders("Content-Type"); | |||||
| if (contentTypeHeader != null && contentTypeHeader.length > 0) { | |||||
| // 下载媒体文件出错 | |||||
| if (ContentType.TEXT_PLAIN.getMimeType().equals(contentTypeHeader[0].getValue())) { | |||||
| String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response); | |||||
| throw new WxErrorException(WxError.fromJson(responseContent)); | |||||
| Header[] contentTypeHeader = response.getHeaders("Content-Type"); | |||||
| if (contentTypeHeader != null && contentTypeHeader.length > 0) { | |||||
| // 下载媒体文件出错 | |||||
| if (ContentType.TEXT_PLAIN.getMimeType().equals(contentTypeHeader[0].getValue())) { | |||||
| String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response); | |||||
| throw new WxErrorException(WxError.fromJson(responseContent)); | |||||
| } | |||||
| } | } | ||||
| } | |||||
| InputStream inputStream = null; | |||||
| try { | |||||
| inputStream = InputStreamResponseHandler.INSTANCE.handleResponse(response); | |||||
| InputStream inputStream = InputStreamResponseHandler.INSTANCE.handleResponse(response); | |||||
| // 视频文件不支持下载 | // 视频文件不支持下载 | ||||
| String fileName = getFileName(response); | String fileName = getFileName(response); | ||||
| @@ -75,11 +73,9 @@ public class MediaDownloadRequestExecutor implements RequestExecutor<File, Strin | |||||
| String[] name_ext = fileName.split("\\."); | String[] name_ext = fileName.split("\\."); | ||||
| File localFile = FileUtils.createTmpFile(inputStream, name_ext[0], name_ext[1], tmpDirFile); | File localFile = FileUtils.createTmpFile(inputStream, name_ext[0], name_ext[1], tmpDirFile); | ||||
| return localFile; | return localFile; | ||||
| } finally { | |||||
| if (inputStream != null) { | |||||
| inputStream.close(); | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| protected String getFileName(CloseableHttpResponse response) { | protected String getFileName(CloseableHttpResponse response) { | ||||
| @@ -39,13 +39,14 @@ public class MediaUploadRequestExecutor implements RequestExecutor<WxMediaUpload | |||||
| httpPost.setEntity(entity); | httpPost.setEntity(entity); | ||||
| httpPost.setHeader("Content-Type", ContentType.MULTIPART_FORM_DATA.toString()); | httpPost.setHeader("Content-Type", ContentType.MULTIPART_FORM_DATA.toString()); | ||||
| } | } | ||||
| CloseableHttpResponse response = httpclient.execute(httpPost); | |||||
| String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response); | |||||
| WxError error = WxError.fromJson(responseContent); | |||||
| if (error.getErrorCode() != 0) { | |||||
| throw new WxErrorException(error); | |||||
| try (CloseableHttpResponse response = httpclient.execute(httpPost)) { | |||||
| String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response); | |||||
| WxError error = WxError.fromJson(responseContent); | |||||
| if (error.getErrorCode() != 0) { | |||||
| throw new WxErrorException(error); | |||||
| } | |||||
| return WxMediaUploadResult.fromJson(responseContent); | |||||
| } | } | ||||
| return WxMediaUploadResult.fromJson(responseContent); | |||||
| } | } | ||||
| } | } | ||||
| @@ -33,13 +33,14 @@ public class SimpleGetRequestExecutor implements RequestExecutor<String, String> | |||||
| httpGet.setConfig(config); | httpGet.setConfig(config); | ||||
| } | } | ||||
| CloseableHttpResponse response = httpclient.execute(httpGet); | |||||
| String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response); | |||||
| WxError error = WxError.fromJson(responseContent); | |||||
| if (error.getErrorCode() != 0) { | |||||
| throw new WxErrorException(error); | |||||
| try (CloseableHttpResponse response = httpclient.execute(httpGet)) { | |||||
| String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response); | |||||
| WxError error = WxError.fromJson(responseContent); | |||||
| if (error.getErrorCode() != 0) { | |||||
| throw new WxErrorException(error); | |||||
| } | |||||
| return responseContent; | |||||
| } | } | ||||
| return responseContent; | |||||
| } | } | ||||
| } | } | ||||
| @@ -40,13 +40,14 @@ public class SimplePostRequestExecutor implements RequestExecutor<String, String | |||||
| httpPost.setEntity(entity); | httpPost.setEntity(entity); | ||||
| } | } | ||||
| CloseableHttpResponse response = httpclient.execute(httpPost); | |||||
| String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response); | |||||
| WxError error = WxError.fromJson(responseContent); | |||||
| if (error.getErrorCode() != 0) { | |||||
| throw new WxErrorException(error); | |||||
| try (CloseableHttpResponse response = httpclient.execute(httpPost)) { | |||||
| String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response); | |||||
| WxError error = WxError.fromJson(responseContent); | |||||
| if (error.getErrorCode() != 0) { | |||||
| throw new WxErrorException(error); | |||||
| } | |||||
| return responseContent; | |||||
| } | } | ||||
| return responseContent; | |||||
| } | } | ||||
| } | } | ||||
| @@ -117,8 +117,10 @@ public class WxCpServiceImpl implements WxCpService { | |||||
| httpGet.setConfig(config); | httpGet.setConfig(config); | ||||
| } | } | ||||
| CloseableHttpClient httpclient = getHttpclient(); | CloseableHttpClient httpclient = getHttpclient(); | ||||
| CloseableHttpResponse response = httpclient.execute(httpGet); | |||||
| String resultContent = new BasicResponseHandler().handleResponse(response); | |||||
| String resultContent = null; | |||||
| try (CloseableHttpResponse response = httpclient.execute(httpGet)) { | |||||
| resultContent = new BasicResponseHandler().handleResponse(response); | |||||
| } | |||||
| WxError error = WxError.fromJson(resultContent); | WxError error = WxError.fromJson(resultContent); | ||||
| if (error.getErrorCode() != 0) { | if (error.getErrorCode() != 0) { | ||||
| throw new WxErrorException(error); | throw new WxErrorException(error); | ||||
| @@ -47,20 +47,21 @@ public class QrCodeRequestExecutor implements RequestExecutor<File, WxMpQrCodeTi | |||||
| httpGet.setConfig(config); | httpGet.setConfig(config); | ||||
| } | } | ||||
| CloseableHttpResponse response = httpclient.execute(httpGet); | |||||
| Header[] contentTypeHeader = response.getHeaders("Content-Type"); | |||||
| if (contentTypeHeader != null && contentTypeHeader.length > 0) { | |||||
| // 出错 | |||||
| if (ContentType.TEXT_PLAIN.getMimeType().equals(contentTypeHeader[0].getValue())) { | |||||
| String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response); | |||||
| throw new WxErrorException(WxError.fromJson(responseContent)); | |||||
| try (CloseableHttpResponse response = httpclient.execute(httpGet)) { | |||||
| Header[] contentTypeHeader = response.getHeaders("Content-Type"); | |||||
| if (contentTypeHeader != null && contentTypeHeader.length > 0) { | |||||
| // 出错 | |||||
| if (ContentType.TEXT_PLAIN.getMimeType().equals(contentTypeHeader[0].getValue())) { | |||||
| String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response); | |||||
| throw new WxErrorException(WxError.fromJson(responseContent)); | |||||
| } | |||||
| } | } | ||||
| InputStream inputStream = InputStreamResponseHandler.INSTANCE.handleResponse(response); | |||||
| File localFile = FileUtils.createTmpFile(inputStream, UUID.randomUUID().toString(), "jpg"); | |||||
| return localFile; | |||||
| } | } | ||||
| InputStream inputStream = InputStreamResponseHandler.INSTANCE.handleResponse(response); | |||||
| File localFile = FileUtils.createTmpFile(inputStream, UUID.randomUUID().toString(), "jpg"); | |||||
| return localFile; | |||||
| } | } | ||||
| } | } | ||||