Package com.ning.http.client

Examples of com.ning.http.client.AsyncHttpClient


    }

    @Test
    public void testWSHttpCall() throws Exception {

        AsyncHttpClient c = createAsyncHttpSSLClient();
        WebSocket websocket = c.prepareGet("wss://127.0.0.1:" + port + "/test").execute(
                new WebSocketUpgradeHandler.Builder()
                        .addWebSocketListener(new WebSocketTextListener() {
                            @Override
                            public void onMessage(String message) {
                                received.add(message);
                                log.info("received --> " + message);
                                latch.countDown();
                            }

                            @Override
                            public void onFragment(String fragment, boolean last) {
                            }

                            @Override
                            public void onOpen(WebSocket websocket) {
                            }

                            @Override
                            public void onClose(WebSocket websocket) {
                            }

                            @Override
                            public void onError(Throwable t) {
                                t.printStackTrace();
                            }
                        }).build()).get();

        getMockEndpoint("mock:client").expectedBodiesReceived("Hello from WS client");

        websocket.sendTextMessage("Hello from WS client");
        assertTrue(latch.await(10, TimeUnit.SECONDS));

        assertMockEndpointsSatisfied();

        assertEquals(10, received.size());
        for (int i = 0; i < 10; i++) {
            assertEquals(">> Welcome on board!", received.get(i));
        }

        websocket.close();
        c.close();
    }
View Full Code Here


    }

    public TestClient(String url, AsyncHttpClientConfig conf, int count) {
        this.received = new ArrayList<Object>();
        this.latch = new CountDownLatch(count);
        this.client = conf == null ? new AsyncHttpClient() : new AsyncHttpClient(conf);
        this.url = url;
    }
View Full Code Here

        server = new Nettosphere.Builder().config(config).build();
        assertNotNull(server);
        server.start();

        final AsyncHttpClient c = new AsyncHttpClient(new AsyncHttpClientConfig.Builder().setMaxRequestRetry(0).build());
        final CountDownLatch l = new CountDownLatch(getCount());
        Client client = ClientFactory.getDefault().newClient();
        RequestBuilder request = client.newRequestBuilder();
        request.method(Request.METHOD.GET).uri(targetUrl);
        request.transport(transport());
        request.encoder(new Encoder<String, String>() {
            @Override
            public String encode(String s) {
                return s;
            }
        });
        Socket[] sockets = new Socket[getCount()];
        request.decoder(new Decoder<String, String>() {
            @Override
            public String decode(Event evntp, String s) {
                return s;
            }
        });
        for (int i = 0; i < getCount(); i++) {
            sockets[i] = client.create(client.newOptionsBuilder().runtime(c, true).build());
            sockets[i].on(new Function<Integer>() {
                @Override
                public void on(Integer statusCode) {
                }
            });
            sockets[i].on(new Function<String>() {
                @Override
                public void on(String s) {
                    if (s.equalsIgnoreCase("yo!")) {
                        System.out.println("=========> " + l.getCount());
                        l.countDown();
                    }
                }
            });
            sockets[i].on(new Function<Throwable>() {
                @Override
                public void on(Throwable t) {
                    t.printStackTrace();
                }
            });

            sockets[i].open(request.build());
            sockets[i].fire("OPEN");
        }

        boolean pass = l.await(60, TimeUnit.SECONDS);
        try {
            for (int i = 0; i < sockets.length; i++) {
                sockets[i].close();
            }
            c.close();
            server.stop();
        } finally {
            assertTrue(pass);
        }
    }
View Full Code Here

        server = new Nettosphere.Builder().config(config).build();
        assertNotNull(server);
        server.start();

        final AsyncHttpClient ahc = new AsyncHttpClient(new AsyncHttpClientConfig.Builder().setMaxRequestRetry(0).build());
        AtmosphereClient client = ClientFactory.getDefault().newClient(AtmosphereClient.class);

        RequestBuilder request = client.newRequestBuilder()
                .method(Request.METHOD.GET)
                .uri(targetUrl + "/suspend")
                .transport(Request.TRANSPORT.WEBSOCKET);

        Socket socket = client.create(client.newOptionsBuilder().runtime(ahc, false).build());
        socket.open(request.build());
        socket.close();

        // AHC is async closed
        Thread.sleep(1000);

        assertTrue(ahc.isClosed());
    }
View Full Code Here

        server = new Nettosphere.Builder().config(config).build();
        assertNotNull(server);
        server.start();

        final AsyncHttpClient ahc = new AsyncHttpClient(new AsyncHttpClientConfig.Builder().setMaxRequestRetry(0).build());
        SerializedClient client = ClientFactory.getDefault().newClient(SerializedClient.class);

        RequestBuilder request = client.newRequestBuilder()
                .method(Request.METHOD.GET)
                .uri(targetUrl + "/suspend")
                .transport(Request.TRANSPORT.WEBSOCKET);

        Socket socket = client.create(client.newOptionsBuilder().runtime(ahc).runtimeShared(false).serializedFireStage(new DefaultSerializedFireStage()).build());
        socket.open(request.build());
        socket.close();

        // AHC is async closed
        Thread.sleep(1000);

        assertTrue(ahc.isClosed());
    }
View Full Code Here

    private AsyncHttpClient createHttpClient() {
        AsyncHttpClientConfig.Builder clientConfigBuilder = new AsyncHttpClientConfig.Builder();
        if (Boolean.parseBoolean(System.getProperty("proxySet"))) {
            clientConfigBuilder.setProxyServerSelector(ProxyUtils.createProxyServerSelector(HttpProxy.proxySelector()));
        }
        return new AsyncHttpClient(clientConfigBuilder.build());
    }
View Full Code Here

            NettyAsyncHttpProviderConfig nettyConfig = new NettyAsyncHttpProviderConfig();

            nettyConfig.addProperty("child.tcpNoDelay", "true");
            nettyConfig.addProperty("child.keepAlive", "true");

            final AsyncHttpClient c = new AsyncHttpClient(b.setAsyncHttpClientProviderConfig(nettyConfig).build());
            Client client = ClientFactory.getDefault().newClient();
            RequestBuilder request = client.newRequestBuilder();
            request.method(Request.METHOD.GET).uri(url);
            request.transport(Request.TRANSPORT.WEBSOCKET);
            request.header("X-wakeUpNIO", "true");

            final CountDownLatch l = new CountDownLatch(clientNum);
            final CountDownLatch messages = new CountDownLatch(messageNum * clientNum);
            long clientCount = l.getCount();
            final AtomicLong total = new AtomicLong(0);

            Socket[] sockets = new Socket[clientNum];
            for (int i = 0; i < clientCount; i++) {
                final AtomicLong start = new AtomicLong(0);
                sockets[i] = client.create(client.newOptionsBuilder().runtime(c).reconnect(false).build())
                        .on(new Function<Integer>() {
                            @Override
                            public void on(Integer statusCode) {
                                start.set(System.currentTimeMillis());
                                l.countDown();
                            }
                        }).on(new Function<String>() {

                            int mCount = 0;

                            @Override
                            public void on(String s) {
                                if (s.startsWith("message")) {
                                    String[] m = s.split("\n\r");
                                    mCount += m.length;
                                    messages.countDown();
                                    System.out.println("Message left receive " + messages.getCount() + " message " + s);
                                    if (mCount == messageNum) {
                                        // System.out.println("All messages received " + mCount);
                                        total.addAndGet(System.currentTimeMillis() - start.get());
                                    }
                                }
                            }
                        }).on(new Function<Throwable>() {
                            @Override
                            public void on(Throwable t) {
                                t.printStackTrace();
                            }
                        });

            }

            for (int i = 0; i < clientCount; i++) {
                sockets[i].open(request.build());
            }

            l.await(30, TimeUnit.SECONDS);

            System.out.println("OK, all Connected: " + clientNum);

            Socket socket = client.create(client.newOptionsBuilder().runtime(c).build());
            socket.open(request.build());
            for (int i = 0; i < messageNum; i++) {
                socket.fire("message" + i);
            }
            messages.await(1, TimeUnit.HOURS);
            socket.close();
            for (int i = 0; i < clientCount; i++) {
                sockets[i].close();
            }
            count += (total.get() / clientCount);
            System.out.println("Run " + r + " => Total run : " + (total.get() / clientCount));
            c.close();
            System.gc();
        }
        System.out.println("=== Means " + (count/run) + "=====");
    }
View Full Code Here

   
    public final static AsyncHttpClient createDefaultAsyncHttpClient(int requestTimeoutInSeconds, AsyncHttpProviderConfig asyncHttpProviderConfig) {
        AsyncHttpClientConfig.Builder b = new AsyncHttpClientConfig.Builder();
        b.setFollowRedirect(true).setConnectionTimeout(-1).setReadTimeout(requestTimeoutInSeconds == -1 ? requestTimeoutInSeconds : requestTimeoutInSeconds * 1000).setUserAgent(WASYNC_USER_AGENT);
        AsyncHttpClientConfig config = b.setAsyncHttpClientProviderConfig(asyncHttpProviderConfig).build();
        return new AsyncHttpClient(config);
    }
View Full Code Here

    public static Socket create(Options options) {
        return create(options, DefaultSocket.class);
    }

    public static Socket create(Options options, Class<? extends Socket> socket) {
        AsyncHttpClient asyncHttpClient = options.runtime();
        if (asyncHttpClient == null || asyncHttpClient.isClosed()) {
            asyncHttpClient = ClientUtil.createDefaultAsyncHttpClient(options);
            options.runtime(asyncHttpClient);
        }
        return getSocket(options, socket);
    }
View Full Code Here

            return new DefaultSocket(options);
        }
    }

    public static Socket create(Class<? extends Socket> socket) {
        AsyncHttpClient asyncHttpClient = createDefaultAsyncHttpClient(new DefaultOptionsBuilder().reconnect(true).build());

        return getSocket(new DefaultOptionsBuilder().runtime(asyncHttpClient, false).build(), socket);
    }
View Full Code Here

TOP

Related Classes of com.ning.http.client.AsyncHttpClient

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.