List of usage examples for org.apache.http.nio.client HttpAsyncClient execute
Future<HttpResponse> execute(HttpUriRequest request, FutureCallback<HttpResponse> callback);
From source file:com.example.AsyncClientHttpExchange.java
public static void main(String[] args) throws Exception { HttpAsyncClient httpclient = new DefaultHttpAsyncClient(); httpclient.start();// w w w .j ava2 s.c o m try { ArrayList<Future<HttpResponse>> response = new ArrayList<Future<HttpResponse>>(); ArrayList<String> sites = new ArrayList<String>(); sites.add("MLA"); sites.add("MLB"); sites.add("MLU"); sites.add("MLV"); for (String site : sites) { HttpGet request = new HttpGet("https://api.mercadolibre.com/sites/" + site); Future<HttpResponse> r = httpclient.execute(request, null); response.add(r); } System.out.println("lalala........"); System.out.println("lalala........"); System.out.println("lalala........"); for (Future<HttpResponse> future : response) { HttpResponse r = future.get(); System.out.println("Response: " + r.getStatusLine()); System.out.println("Body : " + convertStreamToString(r.getEntity().getContent())); } } finally { httpclient.shutdown(); } System.out.println("Done"); }
From source file:com.example.AsyncClientHttpExchangeFutureCallback.java
public static void main(String[] args) throws Exception { HttpAsyncClient httpclient = new DefaultHttpAsyncClient(); httpclient.getParams().setIntParameter(CoreConnectionPNames.SO_TIMEOUT, 3000) .setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 3000) .setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE, 8 * 1024) .setBooleanParameter(CoreConnectionPNames.TCP_NODELAY, true); httpclient.start();/* w w w . j a v a 2s.c om*/ try { HttpGet[] requests = new HttpGet[] { new HttpGet("http://www.apache.org/"), new HttpGet("https://www.verisign.com/"), new HttpGet("http://www.google.com/") }; final CountDownLatch latch = new CountDownLatch(requests.length); for (final HttpGet request : requests) { httpclient.execute(request, new FutureCallback<HttpResponse>() { public void completed(final HttpResponse response) { latch.countDown(); System.out.println(request.getRequestLine() + "->" + response.getStatusLine()); } public void failed(final Exception ex) { latch.countDown(); System.out.println(request.getRequestLine() + "->" + ex); } public void cancelled() { latch.countDown(); System.out.println(request.getRequestLine() + " cancelled"); } }); } latch.await(); System.out.println("Shutting down"); } finally { httpclient.shutdown(); } System.out.println("Done"); }
From source file:org.jenkinsci.plugins.relution_publisher.net.requests.EntityRequest.java
@Override public Future<HttpResponse> execute(final HttpAsyncClient httpClient) { final HttpUriRequest request = this.createRequest(); return httpClient.execute(request, null); }
From source file:io.wcm.caravan.io.http.impl.ResilientHttpImpl.java
private Observable<Response> getHttpObservable(String serviceName, String urlPrefix, Request request) { return Observable.<Response>create(new Observable.OnSubscribe<Response>() { @Override//from www. j a v a 2 s. c om public void call(final Subscriber<? super Response> subscriber) { HttpUriRequest httpRequest = RequestUtil.buildHttpRequest(urlPrefix, request); if (log.isDebugEnabled()) { log.debug("Execute: " + httpRequest.getURI() + "\n" + request.toString()); } HttpAsyncClient httpClient = httpClientFactory.getAsync(httpRequest.getURI()); httpClient.execute(httpRequest, new FutureCallback<HttpResponse>() { @Override public void completed(HttpResponse result) { StatusLine status = result.getStatusLine(); HttpEntity entity = result.getEntity(); try { if (status.getStatusCode() >= 500) { subscriber.onError(new IllegalResponseRuntimeException(serviceName, request, httpRequest.getURI().toString(), status.getStatusCode(), EntityUtils.toString(entity), "Executing '" + httpRequest.getURI() + "' failed: " + result.getStatusLine())); EntityUtils.consumeQuietly(entity); } else { Response response = Response.create(status.getStatusCode(), status.getReasonPhrase(), RequestUtil.toHeadersMap(result.getAllHeaders()), entity.getContent(), entity.getContentLength() > 0 ? (int) entity.getContentLength() : null); subscriber.onNext(response); subscriber.onCompleted(); } } catch (Throwable ex) { subscriber.onError(new IOException( "Reading response of '" + httpRequest.getURI() + "' failed.", ex)); EntityUtils.consumeQuietly(entity); } } @Override public void failed(Exception ex) { if (ex instanceof SocketTimeoutException) { subscriber.onError(new IOException( "Socket timeout executing '" + httpRequest.getURI() + "'.", ex)); } else { subscriber.onError( new IOException("Executing '" + httpRequest.getURI() + "' failed.", ex)); } } @Override public void cancelled() { subscriber.onError(new IOException("Getting " + httpRequest.getURI() + " was cancelled.")); } }); } }); }