public void close() { if (this.httpResponse != null) { HttpEntity httpEntity = this.httpResponse.getEntity(); if (httpEntity != null) EntityUtils.consumeQuietly(httpEntity); this.httpResponse = null; } if (this.inputStream != null) { try {this.inputStream.close();} catch (IOException e) {} this.inputStream = null; } }
/** * Tell the broker that the given message has been successfully processed by a worker (HTTP DELETE). */ public void deleteRequest(AnalystClusterRequest clusterRequest) { String url = BROKER_BASE_URL + String.format("/tasks/%s", clusterRequest.taskId); HttpDelete httpDelete = new HttpDelete(url); try { HttpResponse response = httpClient.execute(httpDelete); // Signal the http client library that we're done with this response object, allowing connection reuse. EntityUtils.consumeQuietly(response.getEntity()); if (response.getStatusLine().getStatusCode() == 200) { LOG.info("Successfully deleted task {}.", clusterRequest.taskId); } else { LOG.info("Failed to delete task {} ({}).", clusterRequest.taskId, response.getStatusLine()); } } catch (Exception e) { LOG.warn("Failed to delete task {}", clusterRequest.taskId, e); } }
/** * Signal the broker that the given high-priority task is completed, providing a result. */ public void finishPriorityTask(AnalystClusterRequest clusterRequest, Object result) { String url = BROKER_BASE_URL + String.format("/complete/priority/%s", clusterRequest.taskId); HttpPost httpPost = new HttpPost(url); try { // TODO reveal any errors etc. that occurred on the worker. // Really this should probably be done with an InputStreamEntity and a JSON writer thread. byte[] serializedResult = objectMapper.writeValueAsBytes(result); httpPost.setEntity(new ByteArrayEntity(serializedResult)); HttpResponse response = httpClient.execute(httpPost); // Signal the http client library that we're done with this response object, allowing connection reuse. EntityUtils.consumeQuietly(response.getEntity()); if (response.getStatusLine().getStatusCode() == 200) { LOG.info("Successfully marked task {} as completed.", clusterRequest.taskId); } else if (response.getStatusLine().getStatusCode() == 404) { LOG.info("Task {} was not marked as completed because it doesn't exist.", clusterRequest.taskId); } else { LOG.info("Failed to mark task {} as completed, ({}).", clusterRequest.taskId, response.getStatusLine()); } } catch (Exception e) { LOG.warn("Failed to mark task {} as completed.", clusterRequest.taskId, e); } }
EntityUtils.consumeQuietly(entity); return null;
public void close() { EntityUtils.consumeQuietly(rsp.getEntity()); }
private static String[] getConversationVideos(String tweetId, String bearerToken, String guestToken) throws IOException { String conversationApiUrl = "https://api.twitter.com/2/timeline/conversation/" + tweetId + ".json"; CloseableHttpClient httpClient = getClosableHttpClient(); HttpGet req = new HttpGet(conversationApiUrl); req.setHeader("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36"); req.setHeader("Authorization", "Bearer " + bearerToken); req.setHeader("x-guest-token", guestToken); HttpEntity entity = httpClient.execute(req).getEntity(); String html = getHTML(entity); consumeQuietly(entity); try { JSONArray arr = (new JSONObject(html)).getJSONObject("globalObjects").getJSONObject("tweets") .getJSONObject(tweetId).getJSONObject("extended_entities").getJSONArray("media"); JSONObject obj2 = (JSONObject) arr.get(0); JSONArray videos = obj2.getJSONObject("video_info").getJSONArray("variants"); ArrayList<String> urls = new ArrayList<>(); for (int i = 0; i < videos.length(); i++) { String url = ((JSONObject) videos.get(i)).getString("url"); urls.add(url); } return urls.toArray(new String[urls.size()]); } catch (JSONException e) { // This is not an issue. Sometimes, there are videos in long conversations but other ones get media class // div, so this fetching process is triggered. DAO.severe("Error while parsing videos from conversation JSON for " + tweetId, e); } return new String[]{}; }
if (resp != null) EntityUtils.consumeQuietly(resp.getEntity()); resp = httpClient.execute(method); if (resp.getStatusLine().getStatusCode() == HttpStatus.SC_UNAUTHORIZED) {
EntityUtils.consumeQuietly(responseEntity); response.close(); client.close(); EntityUtils.consumeQuietly(responseEntity); response.close(); client.close();
EntityUtils.consumeQuietly(responseEntity); response.close(); client.close(); EntityUtils.consumeQuietly(responseEntity); response.close(); client.close();
EntityUtils.consumeQuietly(responseEntity);
if (300 <= httpStatusCode && httpStatusCode <= 308) { String location = getLocationHeader(httpResponse); EntityUtils.consumeQuietly(httpEntity); if (location != null) { // A redirect was found return location; DAO.log("Trying to fetch Meta redirect URL for " + urlstring); String metaURL = getMetaRedirectURL(httpEntity); EntityUtils.consumeQuietly(httpEntity); if (metaURL != null) { // A URL was found in meta tag if (debugLog) {
@Override public Page download(Request request, Task task) { if (task == null || task.getSite() == null) { throw new NullPointerException("task or site can not be null"); } CloseableHttpResponse httpResponse = null; CloseableHttpClient httpClient = getHttpClient(task.getSite()); Proxy proxy = proxyProvider != null ? proxyProvider.getProxy(task) : null; HttpClientRequestContext requestContext = httpUriRequestConverter.convert(request, task.getSite(), proxy); Page page = Page.fail(); try { httpResponse = httpClient.execute(requestContext.getHttpUriRequest(), requestContext.getHttpClientContext()); page = handleResponse(request, request.getCharset() != null ? request.getCharset() : task.getSite().getCharset(), httpResponse, task); onSuccess(request); logger.info("downloading page success {}", request.getUrl()); return page; } catch (IOException e) { logger.warn("download page {} error", request.getUrl(), e); onError(request); return page; } finally { if (httpResponse != null) { //ensure the connection is released back to pool EntityUtils.consumeQuietly(httpResponse.getEntity()); } if (proxyProvider != null && proxy != null) { proxyProvider.returnProxy(proxy, page, task); } } }
if(entity != null) { if(request.isIgnoreResponseBody()) { EntityUtils.consumeQuietly(entity);
public void close() { HttpEntity httpEntity = this.httpResponse.getEntity(); if (httpEntity != null) EntityUtils.consumeQuietly(httpEntity); try { this.inputStream.close(); } catch (IOException e) {} finally { this.request.releaseConnection(); } }
private <T> T readResponseBody(final CloseableHttpResponse response, final Type type) throws CloudstackRESTException { final HttpEntity entity = response.getEntity(); try { final String stringEntity = EntityUtils.toString(entity); //s_logger.debug("Response entity: " + stringEntity); EntityUtils.consumeQuietly(entity); return gson.fromJson(stringEntity, type); } catch (final IOException e) { throw new CloudstackRESTException("Could not deserialize response to JSON. Entity: " + entity, e); } finally { client.closeResponse(response); } }
for (Header header: httpResponse.getAllHeaders()) { if (header.getName().equalsIgnoreCase("location")) { EntityUtils.consumeQuietly(httpEntity); return header.getValue(); EntityUtils.consumeQuietly(httpEntity); throw new IOException("redirect for " + urlstring+ ": no location attribute found"); } else { EntityUtils.consumeQuietly(httpEntity); throw new IOException("no redirect for " + urlstring+ " fail: " + httpResponse.getStatusLine().getStatusCode() + ": " + httpResponse.getStatusLine().getReasonPhrase());
EntityUtils.consumeQuietly(proxyResponse.getEntity());
/** * Safely clean up after a response. */ public void close(final CloseableHttpResponse response) { if (response != null) { EntityUtils.consumeQuietly(response.getEntity()); IOUtils.closeQuietly(response); } }
@Override protected Object accept(Requester requester, Endpoint endpoint, HttpResponse response) throws Exception { HttpEntity entity = response.getEntity(); File file = new File(Remotes.getDirectory(), new StringBuilder("download-").append(UUID.randomUUID()).append(".temp").toString()); try { Streams.write(entity.getContent(), file); return file; } finally { EntityUtils.consumeQuietly(entity); } }
private AudioItem loadSearchResultsFromResponse(HttpResponse response, String query) throws IOException { try { JsonBrowser searchResults = JsonBrowser.parse(response.getEntity().getContent()); return extractTracksFromSearchResults(query, searchResults); } finally { EntityUtils.consumeQuietly(response.getEntity()); } }