protected Response fetchResponse(HttpURLConnection httpUrlConnection) throws IOException { InputStream inputStream = null; try { inputStream = httpUrlConnection.getResponseCode() != HttpURLConnection.HTTP_OK ? httpUrlConnection.getErrorStream() : httpUrlConnection.getInputStream(); } catch (IOException e) { HTTP_LOGGER.warn("An error occurred while making a {} request to {}:", httpUrlConnection.getRequestMethod(), httpUrlConnection.getURL(), e); } return new Response(httpUrlConnection.getResponseCode(), StringUtils.fromInputStream(inputStream)); }
return new Response(httpUrlConnection.getResponseCode(), fromInputStream(inputStream)); } finally { closeQuietly(httpUrlConnection);
@Override protected Response fetchResponse(HttpURLConnection httpUrlConnection) throws IOException { try { if (httpUrlConnection.getRequestMethod().equals(HttpMethod.GET.name())) { if (httpUrlConnection.getResponseCode() == HTTP_NOT_MODIFIED && currentETagRespThreadLocal.get() != null) { ETagResponse etagResp = currentETagRespThreadLocal.get(); return new Response(httpUrlConnection.getResponseCode(), etagResp.getBody()); } else { Response resp = super.fetchResponse(httpUrlConnection); if (httpUrlConnection.getHeaderField("ETag") != null) { etagCache.put(httpUrlConnection.getURL().toString(), new ETagResponse(httpUrlConnection.getHeaderField("ETag"), resp.getBody())); } return resp; } } else { return super.fetchResponse(httpUrlConnection); } } finally { currentETagRespThreadLocal.remove(); } }
return new Response(httpUrlConnection.getResponseCode(), fromInputStream(inputStream)); } finally { closeQuietly(binaryAttachment);