Search in sources :

Example 6 with DefaultAsyncHttpClient

use of org.asynchttpclient.DefaultAsyncHttpClient in project camel by apache.

the class WebsocketTwoRoutesExampleTest method testWSHttpCallEcho.

@Test
public void testWSHttpCallEcho() throws Exception {
    // We call the route WebSocket BAR
    received.clear();
    latch = new CountDownLatch(1);
    AsyncHttpClient c = new DefaultAsyncHttpClient();
    WebSocket websocket = c.prepareGet("ws://localhost:" + port + "/bar").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 onOpen(WebSocket websocket) {
        }

        @Override
        public void onClose(WebSocket websocket) {
        }

        @Override
        public void onError(Throwable t) {
            t.printStackTrace();
        }
    }).build()).get();
    websocket.sendMessage("Beer");
    assertTrue(latch.await(10, TimeUnit.SECONDS));
    assertEquals(1, received.size());
    assertEquals("The bar has Beer", received.get(0));
    websocket.close();
    c.close();
    // We call the route WebSocket PUB
    received.clear();
    latch = new CountDownLatch(1);
    c = new DefaultAsyncHttpClient();
    websocket = c.prepareGet("ws://localhost:" + port + "/pub").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 onOpen(WebSocket websocket) {
        }

        @Override
        public void onClose(WebSocket websocket) {
        }

        @Override
        public void onError(Throwable t) {
            t.printStackTrace();
        }
    }).build()).get();
    websocket.sendMessage("wine");
    assertTrue(latch.await(10, TimeUnit.SECONDS));
    assertEquals(1, received.size());
    assertEquals("The pub has wine", received.get(0));
    websocket.close();
    c.close();
}
Also used : WebSocketTextListener(org.asynchttpclient.ws.WebSocketTextListener) RouteBuilder(org.apache.camel.builder.RouteBuilder) DefaultAsyncHttpClient(org.asynchttpclient.DefaultAsyncHttpClient) CountDownLatch(java.util.concurrent.CountDownLatch) WebSocketUpgradeHandler(org.asynchttpclient.ws.WebSocketUpgradeHandler) AsyncHttpClient(org.asynchttpclient.AsyncHttpClient) DefaultAsyncHttpClient(org.asynchttpclient.DefaultAsyncHttpClient) WebSocket(org.asynchttpclient.ws.WebSocket) Test(org.junit.Test)

Example 7 with DefaultAsyncHttpClient

use of org.asynchttpclient.DefaultAsyncHttpClient in project camel by apache.

the class WebsocketTwoRoutesToSIndividualAndBroadcastEndpointExampleTest method testWSHttpCallEcho.

@Test
public void testWSHttpCallEcho() throws Exception {
    // We call the route WebSocket BAR
    received.clear();
    latch = new CountDownLatch(2);
    AsyncHttpClient c = new DefaultAsyncHttpClient();
    WebSocket websocket = c.prepareGet("ws://localhost:" + port + "/bar").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 onOpen(WebSocket websocket) {
        }

        @Override
        public void onClose(WebSocket websocket) {
        }

        @Override
        public void onError(Throwable t) {
            t.printStackTrace();
        }
    }).build()).get();
    websocket.sendMessage("Beer");
    assertTrue(latch.await(10, TimeUnit.SECONDS));
    assertEquals(2, received.size());
    //Cannot guarantee the order in which messages are received
    assertTrue(received.contains("The bar has Beer"));
    assertTrue(received.contains("Broadcasting to Bar"));
    websocket.close();
    c.close();
}
Also used : WebSocketTextListener(org.asynchttpclient.ws.WebSocketTextListener) RouteBuilder(org.apache.camel.builder.RouteBuilder) DefaultAsyncHttpClient(org.asynchttpclient.DefaultAsyncHttpClient) CountDownLatch(java.util.concurrent.CountDownLatch) AsyncHttpClient(org.asynchttpclient.AsyncHttpClient) DefaultAsyncHttpClient(org.asynchttpclient.DefaultAsyncHttpClient) WebSocket(org.asynchttpclient.ws.WebSocket) Test(org.junit.Test)

Example 8 with DefaultAsyncHttpClient

use of org.asynchttpclient.DefaultAsyncHttpClient in project camel by apache.

the class WebsocketTwoRoutesToSameEndpointExampleTest method testWSHttpCallEcho.

@Test
public void testWSHttpCallEcho() throws Exception {
    // We call the route WebSocket BAR
    received.clear();
    latch = new CountDownLatch(2);
    DefaultAsyncHttpClient c = new DefaultAsyncHttpClient();
    WebSocket websocket = c.prepareGet("ws://localhost:" + port + "/bar").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 onOpen(WebSocket websocket) {
        }

        @Override
        public void onClose(WebSocket websocket) {
        }

        @Override
        public void onError(Throwable t) {
            t.printStackTrace();
        }
    }).build()).get();
    websocket.sendMessage("Beer");
    assertTrue(latch.await(10, TimeUnit.SECONDS));
    assertEquals(2, received.size());
    //Cannot guarantee the order in which messages are received
    assertTrue(received.contains("The bar has Beer"));
    assertTrue(received.contains("Broadcasting to Bar"));
    websocket.close();
    c.close();
}
Also used : WebSocketTextListener(org.asynchttpclient.ws.WebSocketTextListener) RouteBuilder(org.apache.camel.builder.RouteBuilder) DefaultAsyncHttpClient(org.asynchttpclient.DefaultAsyncHttpClient) CountDownLatch(java.util.concurrent.CountDownLatch) WebSocket(org.asynchttpclient.ws.WebSocket) Test(org.junit.Test)

Example 9 with DefaultAsyncHttpClient

use of org.asynchttpclient.DefaultAsyncHttpClient in project camel by apache.

the class WebsocketConsumerRouteTest method testWSBytesHttpCall.

@Test
public void testWSBytesHttpCall() throws Exception {
    AsyncHttpClient c = new DefaultAsyncHttpClient();
    WebSocket websocket = c.prepareGet("ws://127.0.0.1:" + port + "/echo").execute(new WebSocketUpgradeHandler.Builder().addWebSocketListener(new WebSocketListener() {

        @Override
        public void onOpen(WebSocket websocket) {
        }

        @Override
        public void onClose(WebSocket websocket) {
        }

        @Override
        public void onError(Throwable t) {
            t.printStackTrace();
        }
    }).build()).get();
    MockEndpoint result = getMockEndpoint("mock:result");
    final byte[] testmessage = "Test".getBytes("utf-8");
    result.expectedBodiesReceived(testmessage);
    websocket.sendMessage(testmessage);
    result.assertIsSatisfied();
    websocket.close();
    c.close();
}
Also used : WebSocketListener(org.asynchttpclient.ws.WebSocketListener) MockEndpoint(org.apache.camel.component.mock.MockEndpoint) RouteBuilder(org.apache.camel.builder.RouteBuilder) DefaultAsyncHttpClient(org.asynchttpclient.DefaultAsyncHttpClient) AsyncHttpClient(org.asynchttpclient.AsyncHttpClient) DefaultAsyncHttpClient(org.asynchttpclient.DefaultAsyncHttpClient) WebSocket(org.asynchttpclient.ws.WebSocket) Test(org.junit.Test)

Example 10 with DefaultAsyncHttpClient

use of org.asynchttpclient.DefaultAsyncHttpClient in project camel by apache.

the class WebsocketConsumerRouteTest method testWSHttpCall.

@Test
public void testWSHttpCall() throws Exception {
    AsyncHttpClient c = new DefaultAsyncHttpClient();
    WebSocket websocket = c.prepareGet("ws://127.0.0.1:" + port + "/echo").execute(new WebSocketUpgradeHandler.Builder().addWebSocketListener(new WebSocketListener() {

        @Override
        public void onOpen(WebSocket websocket) {
        }

        @Override
        public void onClose(WebSocket websocket) {
        }

        @Override
        public void onError(Throwable t) {
            t.printStackTrace();
        }
    }).build()).get();
    MockEndpoint result = getMockEndpoint("mock:result");
    result.expectedBodiesReceived("Test");
    websocket.sendMessage("Test");
    result.assertIsSatisfied();
    websocket.close();
    c.close();
}
Also used : WebSocketListener(org.asynchttpclient.ws.WebSocketListener) MockEndpoint(org.apache.camel.component.mock.MockEndpoint) RouteBuilder(org.apache.camel.builder.RouteBuilder) DefaultAsyncHttpClient(org.asynchttpclient.DefaultAsyncHttpClient) AsyncHttpClient(org.asynchttpclient.AsyncHttpClient) DefaultAsyncHttpClient(org.asynchttpclient.DefaultAsyncHttpClient) WebSocket(org.asynchttpclient.ws.WebSocket) Test(org.junit.Test)

Aggregations

DefaultAsyncHttpClient (org.asynchttpclient.DefaultAsyncHttpClient)15 RouteBuilder (org.apache.camel.builder.RouteBuilder)13 AsyncHttpClient (org.asynchttpclient.AsyncHttpClient)13 WebSocket (org.asynchttpclient.ws.WebSocket)11 Test (org.junit.Test)10 WebSocketTextListener (org.asynchttpclient.ws.WebSocketTextListener)8 CountDownLatch (java.util.concurrent.CountDownLatch)3 DefaultAsyncHttpClientConfig (org.asynchttpclient.DefaultAsyncHttpClientConfig)3 JdkSslContext (io.netty.handler.ssl.JdkSslContext)2 SSLContext (javax.net.ssl.SSLContext)2 MockEndpoint (org.apache.camel.component.mock.MockEndpoint)2 SSLContextParameters (org.apache.camel.util.jsse.SSLContextParameters)2 AsyncHttpClientConfig (org.asynchttpclient.AsyncHttpClientConfig)2 WebSocketListener (org.asynchttpclient.ws.WebSocketListener)2 ServiceBuilder (com.github.scribejava.core.builder.ServiceBuilder)1 OAuth2AccessToken (com.github.scribejava.core.model.OAuth2AccessToken)1 OAuthRequest (com.github.scribejava.core.model.OAuthRequest)1 Response (com.github.scribejava.core.model.Response)1 OAuth20Service (com.github.scribejava.core.oauth.OAuth20Service)1 AhcHttpClient (com.github.scribejava.httpclient.ahc.AhcHttpClient)1