List of usage examples for org.apache.http.client.methods HttpRequestBase releaseConnection
public void releaseConnection()
From source file:org.openrepose.commons.utils.http.ServiceClient.java
private ServiceClientResponse execute(HttpRequestBase base, String... queryParameters) { try {//ww w.j a v a2s.c o m HttpClient client = getClientWithBasicAuth(); for (int index = 0; index < queryParameters.length; index = index + 2) { client.getParams().setParameter(queryParameters[index], queryParameters[index + 1]); } HttpResponse httpResponse = client.execute(base); HttpEntity entity = httpResponse.getEntity(); InputStream stream = null; if (entity != null) { stream = new ByteArrayInputStream(RawInputStreamReader.instance().readFully(entity.getContent())); EntityUtils.consume(entity); } return new ServiceClientResponse(httpResponse.getStatusLine().getStatusCode(), httpResponse.getAllHeaders(), stream); } catch (ServiceClientException ex) { LOG.error("Failed to obtain an HTTP default client connection", ex); } catch (IOException ex) { LOG.error("Error executing request", ex); } finally { base.releaseConnection(); } return new ServiceClientResponse(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, null); }
From source file:com.twosigma.cook.jobclient.JobClient.java
private JobClientException releaseAndCreateException(HttpRequestBase httpRequest, HttpResponse httpResponse, final String msg, final Throwable cause) { StringBuilder newMsg = new StringBuilder(msg); if (null != httpRequest) { httpRequest.releaseConnection(); }//from w ww .ja v a2 s . co m if (null != httpResponse) { try { newMsg.append(" Response body: " + EntityUtils.toString(httpResponse.getEntity())); } catch (IOException e) { } } if (null != cause) { return new JobClientException(newMsg.toString(), cause); } else { return new JobClientException(newMsg.toString()); } }
From source file:es.tid.fiware.fiwareconnectors.cygnus.backends.hdfs.HDFSBackendImpl.java
private HttpResponse doHDFSRequest(HttpClient httpClient, String method, String url, ArrayList<Header> headers, StringEntity entity) throws Exception { HttpResponse response = null;/*from w w w. ja va 2s. co m*/ HttpRequestBase request = null; if (method.equals("PUT")) { HttpPut req = new HttpPut(url); if (entity != null) { req.setEntity(entity); } // if request = req; } else if (method.equals("POST")) { HttpPost req = new HttpPost(url); if (entity != null) { req.setEntity(entity); } // if request = req; } else if (method.equals("GET")) { request = new HttpGet(url); } else { throw new CygnusRuntimeError("HTTP method not supported: " + method); } // if else if (headers != null) { for (Header header : headers) { request.setHeader(header); } // for } // if logger.debug("HDFS request: " + request.toString()); try { response = httpClient.execute(request); } catch (IOException e) { throw new CygnusPersistenceError(e.getMessage()); } // try catch request.releaseConnection(); logger.debug("HDFS response: " + response.getStatusLine().toString()); return response; }
From source file:org.nebula.framework.client.NebulaRestClient.java
private <T> T execute(HttpRequestBase httpRequest, Class responseClass) throws Exception { try {/* w w w .j av a 2s . c o m*/ HttpResponse res = client.execute(target, httpRequest, createPreemptiveBasicAuthentication(accessId, secretKey)); HttpEntity entity = res.getEntity(); String content = EntityUtils.toString(entity); if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { logger.debug("content=" + content); T t = (T) toObject(content, responseClass); return t; } else if (res.getStatusLine().getStatusCode() == HttpStatus.SC_BAD_REQUEST) { logger.error("Illegal argument:" + content); throw new IllegalArgumentException(content); } else { logger.error("Error:" + content); // TODO: more specific info throw new Exception("error"); } } catch (Exception e) { logger.error("Failed to execute http request.", e); throw e; } finally { httpRequest.releaseConnection(); } }
From source file:org.lokra.seaweedfs.core.Connection.java
/** * Fetch http API input stream cache./*from w ww . ja va 2 s. c o m*/ * * @param request Http request. * @return Stream fetch by http response. * @throws IOException Http connection is fail or server response within some error message. */ StreamResponse fetchStreamCacheByRequest(HttpRequestBase request) throws IOException { CloseableHttpResponse response = null; request.setHeader("Connection", "close"); StreamResponse cache; try { response = httpClient.execute(request, HttpClientContext.create()); HttpEntity entity = response.getEntity(); cache = new StreamResponse(entity.getContent(), response.getStatusLine().getStatusCode()); EntityUtils.consume(entity); } finally { if (response != null) { try { response.close(); } catch (IOException ignored) { } } request.releaseConnection(); } return cache; }
From source file:org.lokra.seaweedfs.core.Connection.java
/** * Fetch http API json result.//from w w w .j a va 2 s. c o m * * @param request Http request. * @return Json fetch by http response. * @throws IOException Http connection is fail or server response within some error message. */ JsonResponse fetchJsonResultByRequest(HttpRequestBase request) throws IOException { CloseableHttpResponse response = null; request.setHeader("Connection", "close"); JsonResponse jsonResponse = null; try { response = httpClient.execute(request, HttpClientContext.create()); HttpEntity entity = response.getEntity(); jsonResponse = new JsonResponse(EntityUtils.toString(entity), response.getStatusLine().getStatusCode()); EntityUtils.consume(entity); } finally { if (response != null) { try { response.close(); } catch (IOException ignored) { } } request.releaseConnection(); } if (jsonResponse.json.contains("\"error\":\"")) { Map map = objectMapper.readValue(jsonResponse.json, Map.class); final String errorMsg = (String) map.get("error"); if (errorMsg != null) throw new SeaweedfsException(errorMsg); } return jsonResponse; }
From source file:org.plos.crepo.dao.ContentRepoBaseDao.java
protected CloseableHttpResponse executeRequest(HttpRequestBase request, ErrorType errorType) { CloseableHttpResponse response;/*from w w w. j a v a2 s.c o m*/ try { response = accessConfig.open(request); } catch (IOException e) { getLog().error("Error handling the response, uri: " + request.getURI().toString() + " repoMessage: ", e); throw new ContentRepoException.ContentRepoExceptionBuilder(errorType).baseException(e) .url(request.getURI().toString()).build(); } try { final int statusCode = response.getStatusLine().getStatusCode(); if (statusCode == HttpStatus.SC_NOT_FOUND) { throw new NotFoundException(HttpResponseUtil.getErrorMessage(response)); } else if (statusCode != HttpStatus.SC_OK && statusCode != HttpStatus.SC_CREATED) { final String cause = HttpResponseUtil.getErrorMessage(response); getLog().error("uri: " + request.getURI().toString() + " repoMessage: " + cause); throw new ContentRepoException.ContentRepoExceptionBuilder(errorType) .url(request.getURI().toString()).repoMessage(cause).build(); } return response; } catch (RuntimeException e) { IOUtils.closeQuietly(response); request.releaseConnection(); throw e; } }
From source file:mobi.jenkinsci.ci.JenkinsCIPlugin.java
protected byte[] retrieveUrl(final String userAgent, final String linkUrl, final HashMap<String, HeaderElement[]> contentHeaders, final Object ctx) throws Exception { final JenkinsClient client = (JenkinsClient) ctx; final HttpRequestBase get = getNewHttpRequest(null, linkUrl); if (userAgent != null) { get.setHeader("User-Agent", userAgent); }// w w w .j av a 2 s . c om final HttpResponse response = client.http.execute(get); try { final int status = response.getStatusLine().getStatusCode(); if (status != HttpURLConnection.HTTP_OK) { throw new IOException("HTTP- " + get.getMethod() + " " + linkUrl + " returned status " + status); } if (contentHeaders != null) { for (final Header header : response.getAllHeaders()) { contentHeaders.put(header.getName(), header.getElements()); } } final ByteArrayOutputStream out = new ByteArrayOutputStream(); final InputStream content = response.getEntity().getContent(); IOUtils.copy(content, out); content.close(); return out.toByteArray(); } finally { get.releaseConnection(); } }
From source file:org.neo4j.ogm.session.transaction.TransactionManager.java
private HttpResponse executeRequest(HttpRequestBase request) { try {/*from w w w . j a va2 s . com*/ request.setHeader(new BasicHeader("Accept", "application/json;charset=UTF-8")); HttpRequestAuthorization.authorize(request, credentials); HttpResponse response = httpClient.execute(request); StatusLine statusLine = response.getStatusLine(); logger.debug("Status code: {}", statusLine.getStatusCode()); if (statusLine.getStatusCode() >= 300) { throw new HttpResponseException(statusLine.getStatusCode(), statusLine.getReasonPhrase()); } HttpEntity responseEntity = response.getEntity(); if (responseEntity != null) { String responseText = EntityUtils.toString(responseEntity); logger.debug(responseText); EntityUtils.consume(responseEntity); if (responseText.contains("\"errors\":[{") || responseText.contains("\"errors\": [{")) { throw new ErrorsException(responseText); } } return response; } catch (Exception e) { throw new ResultProcessingException("Failed to execute request: ", e); } // always clean up the connection and the thread-local transaction instance; finally { request.releaseConnection(); transaction.remove(); } }