Package org.asynchttpclient

Examples of org.asynchttpclient.DefaultAsyncHttpClient


                    + AsyncImplHelper.ASYNC_HTTP_CLIENT_IMPL_SYSTEM_PROPERTY, e);
        } catch (IllegalAccessException e) {
            throw new AsyncHttpClientImplException("Unable to find the class specified by system property : "
                    + AsyncImplHelper.ASYNC_HTTP_CLIENT_IMPL_SYSTEM_PROPERTY, e);
        }
        return new DefaultAsyncHttpClient();
    }
View Full Code Here


            } catch (Exception e) {
                throw new AsyncHttpClientImplException("Unable to find the instantiate the class specified by system property : "
                        + AsyncImplHelper.ASYNC_HTTP_CLIENT_IMPL_SYSTEM_PROPERTY + "(AsyncHttpProvider) due to : " + e.getMessage(), e);
            }
        }
        return new DefaultAsyncHttpClient(provider);
    }
View Full Code Here

            } catch (Exception e) {
                throw new AsyncHttpClientImplException("Unable to find the instantiate the class specified by system property : "
                        + AsyncImplHelper.ASYNC_HTTP_CLIENT_IMPL_SYSTEM_PROPERTY + "(AsyncHttpProvider) due to : " + e.getMessage(), e);
            }
        }
        return new DefaultAsyncHttpClient(config);
    }
View Full Code Here

            } catch (Exception e) {
                throw new AsyncHttpClientImplException("Unable to find the instantiate the class specified by system property : "
                        + AsyncImplHelper.ASYNC_HTTP_CLIENT_IMPL_SYSTEM_PROPERTY + "(AsyncHttpProvider) due to : " + e.getMessage(), e);
            }
        }
        return new DefaultAsyncHttpClient(provider, config);
    }
View Full Code Here

            } catch (Exception e) {
                throw new AsyncHttpClientImplException("Unable to find the instantiate the class specified by system property : "
                        + AsyncImplHelper.ASYNC_HTTP_CLIENT_IMPL_SYSTEM_PROPERTY + "(AsyncHttpProvider) due to : " + e.getMessage(), e);
            }
        }
        return new DefaultAsyncHttpClient(providerClass, config);
    }
View Full Code Here

        final int port = (secure ? SECURE_PORT : NON_SECURE_PORT);
        final String scheme = (secure ? "https" : "http");
        ExecutorService service = Executors.newFixedThreadPool(threadCount);

        AsyncHttpClientConfig config = new AsyncHttpClientConfig.Builder().setMaxConnectionsPerHost(60).setMaxConnections(60).setAcceptAnyCertificate(true).build();
        final AsyncHttpClient client = new DefaultAsyncHttpClient(new GrizzlyAsyncHttpProvider(config), config);
        try {
            final int[] statusCodes = new int[threadCount];
            final int[] totalsReceived = new int[threadCount];
            final Throwable[] errors = new Throwable[threadCount];
            for (int i = 0; i < threadCount; i++) {
                final int idx = i;
                service.execute(new Runnable() {
                    @Override
                    public void run() {
                        FeedableBodyGenerator generator = new FeedableBodyGenerator();
                        FeedableBodyGenerator.SimpleFeeder simpleFeeder = new FeedableBodyGenerator.SimpleFeeder(generator) {
                            @Override
                            public void flush() throws IOException {
                                FileInputStream in = null;
                                try {
                                    final byte[] bytesIn = new byte[2048];
                                    in = new FileInputStream(tempFile);
                                    int read;
                                    while ((read = in.read(bytesIn)) != -1) {
                                        final Buffer b = Buffers.wrap(DEFAULT_MEMORY_MANAGER, bytesIn, 0, read);
                                        feed(b, false);
                                    }
                                    feed(Buffers.EMPTY_BUFFER, true);
                                } finally {
                                    if (in != null) {
                                        try {
                                            in.close();
                                        } catch (IOException ignored) {
                                        }
                                    }
                                }
                            }
                        };
                        generator.setFeeder(simpleFeeder);
                        generator.setMaxPendingBytes(10000);

                        RequestBuilder builder = new RequestBuilder("POST");
                        builder.setUrl(scheme + "://localhost:" + port + "/test");
                        builder.setBody(generator);
                        client.executeRequest(builder.build(), new AsyncCompletionHandler<org.asynchttpclient.Response>() {
                            @Override
                            public org.asynchttpclient.Response onCompleted(org.asynchttpclient.Response response) throws Exception {
                                try {
                                    totalsReceived[idx] = Integer.parseInt(response.getHeader("x-total"));
                                } catch (Exception e) {
                                    errors[idx] = e;
                                }
                                statusCodes[idx] = response.getStatusCode();
                                latch.countDown();
                                return response;
                            }

                            @Override
                            public void onThrowable(Throwable t) {
                                errors[idx] = t;
                                t.printStackTrace();
                                latch.countDown();
                            }
                        });
                    }
                });
            }

            try {
                latch.await(1, TimeUnit.MINUTES);
            } catch (InterruptedException e) {
                fail("Latch interrupted");
            }

            for (int i = 0; i < threadCount; i++) {
                assertEquals(statusCodes[i], 200);
                assertNull(errors[i]);
                assertEquals(totalsReceived[i], tempFile.length());
            }
        } finally {
            client.close();
        }
    }
View Full Code Here

        final int port = (secure ? SECURE_PORT : NON_SECURE_PORT);
        final String scheme = (secure ? "https" : "http");
        final ExecutorService service = Executors.newCachedThreadPool();

        AsyncHttpClientConfig config = new AsyncHttpClientConfig.Builder().setMaxConnectionsPerHost(60).setMaxConnections(60).setAcceptAnyCertificate(true).build();
        final AsyncHttpClient client = new DefaultAsyncHttpClient(new GrizzlyAsyncHttpProvider(config), config);
        try {
            final int[] statusCodes = new int[threadCount];
            final int[] totalsReceived = new int[threadCount];
            final Throwable[] errors = new Throwable[threadCount];
            for (int i = 0; i < threadCount; i++) {
                final int idx = i;
                service.execute(new Runnable() {
                    @Override
                    public void run() {
                        FeedableBodyGenerator generator = new FeedableBodyGenerator();
                        FeedableBodyGenerator.NonBlockingFeeder nonBlockingFeeder = new FeedableBodyGenerator.NonBlockingFeeder(generator) {
                            private final Random r = new Random();
                            private final InputStream in;
                            private final byte[] bytesIn = new byte[2048];
                            private boolean isDone;

                            {
                                try {
                                    in = new FileInputStream(tempFile);
                                } catch (IOException e) {
                                    throw new IllegalStateException(e);
                                }
                            }

                            @Override
                            public void canFeed() throws IOException {
                                final int read = in.read(bytesIn);
                                if (read == -1) {
                                    isDone = true;
                                    feed(Buffers.EMPTY_BUFFER, true);
                                    return;
                                }

                                final Buffer b = Buffers.wrap(DEFAULT_MEMORY_MANAGER, bytesIn, 0, read);
                                feed(b, false);
                            }

                            @Override
                            public boolean isDone() {
                                return isDone;
                            }

                            @Override
                            public boolean isReady() {
                                // simulate real-life usecase, where data could
                                // not be ready
                                return r.nextInt(100) < 80;
                            }

                            @Override
                            public void notifyReadyToFeed(final NonBlockingFeeder.ReadyToFeedListener listener) {
                                service.execute(new Runnable() {

                                    public void run() {
                                        try {
                                            Thread.sleep(2);
                                        } catch (InterruptedException e) {
                                        }

                                        listener.ready();
                                    }

                                });
                            }
                        };
                        generator.setFeeder(nonBlockingFeeder);
                        generator.setMaxPendingBytes(10000);

                        RequestBuilder builder = new RequestBuilder("POST");
                        builder.setUrl(scheme + "://localhost:" + port + "/test");
                        builder.setBody(generator);
                        client.executeRequest(builder.build(), new AsyncCompletionHandler<org.asynchttpclient.Response>() {
                            @Override
                            public org.asynchttpclient.Response onCompleted(org.asynchttpclient.Response response) throws Exception {
                                try {
                                    totalsReceived[idx] = Integer.parseInt(response.getHeader("x-total"));
                                } catch (Exception e) {
                                    errors[idx] = e;
                                }
                                statusCodes[idx] = response.getStatusCode();
                                latch.countDown();
                                return response;
                            }

                            @Override
                            public void onThrowable(Throwable t) {
                                errors[idx] = t;
                                t.printStackTrace();
                                latch.countDown();
                            }
                        });
                    }
                });
            }

            try {
                latch.await(1, TimeUnit.MINUTES);
            } catch (InterruptedException e) {
                fail("Latch interrupted");
            } finally {
                service.shutdownNow();
            }

            for (int i = 0; i < threadCount; i++) {
                assertEquals(statusCodes[i], 200);
                assertNull(errors[i]);
                assertEquals(totalsReceived[i], tempFile.length());
            }
        } finally {
            client.close();
        }
    }
View Full Code Here

    public static AsyncHttpClient grizzlyProvider(AsyncHttpClientConfig config) {
        if (config == null) {
            config = new AsyncHttpClientConfig.Builder().build();
        }
        return new DefaultAsyncHttpClient(new GrizzlyAsyncHttpProvider(config), config);
    }
View Full Code Here

            .setAllowPoolingConnections(false)
            .setDisableUrlEncodingForBoundRequests(true)
            .setIOThreadMultiplier(2) // 2 is default
            .build();

        AsyncHttpClient client = new DefaultAsyncHttpClient(
                new GrizzlyAsyncHttpProvider(config), config);

        try {
            Future<org.asynchttpclient.Response> f = client.prepareGet(url).execute();
            org.asynchttpclient.Response r = f.get(10, TimeUnit.SECONDS);
            Assert.assertEquals(TEST_MESSAGE, r.getResponseBody());
        } finally {
            client.close();
        }
    }
View Full Code Here

    public void testPromiseAdapter() throws IOException {
        final CountDownLatch latch = new CountDownLatch(1);
        final AtomicInteger successCount = new AtomicInteger();
        final AtomicInteger progressCount = new AtomicInteger();

        AsyncHttpClient client = new DefaultAsyncHttpClient();

        try {
            Promise<Response, Throwable, HttpProgress> p1 = AsyncHttpDeferredObject.promise(client.prepareGet("http://www.ning.com"));
            p1.done(new DoneCallback<Response>() {
                @Override
                public void onDone(Response response) {
                    try {
                        assertEquals(response.getStatusCode(), 200);
                        successCount.incrementAndGet();
                    } finally {
                        latch.countDown();
                    }
                }
            }).progress(new ProgressCallback<HttpProgress>() {

                @Override
                public void onProgress(HttpProgress progress) {
                    progressCount.incrementAndGet();
                }
            });

            latch.await();
            assertTrue(progressCount.get() > 0);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
        } finally {
            client.close();
        }
    }
View Full Code Here

TOP

Related Classes of org.asynchttpclient.DefaultAsyncHttpClient

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.