Example usage for org.springframework.web.socket.sockjs.client RestTemplateXhrTransport RestTemplateXhrTransport

List of usage examples for org.springframework.web.socket.sockjs.client RestTemplateXhrTransport RestTemplateXhrTransport

Introduction

In this page you can find the example usage for org.springframework.web.socket.sockjs.client RestTemplateXhrTransport RestTemplateXhrTransport.

Prototype

public RestTemplateXhrTransport(RestOperations restTemplate) 

Source Link

Usage

From source file:com.wk.lodge.composite.web.tomcat.IntegrationCompositeTests.java

@BeforeClass
public static void setup() throws Exception {

    System.setProperty("spring.profiles.active", "test.tomcat");

    port = SocketUtils.findAvailableTcpPort();

    server = new TomcatWebSocketTestServer(port);
    server.deployConfig(TestDispatcherServletInitializer.class);
    server.start();/*from   ww  w.j a v a 2 s. c  om*/

    webSocketUri = "ws://localhost:" + port + "/composite/websocket";

    List<Transport> transports = new ArrayList<>();
    transports.add(new WebSocketTransport(new StandardWebSocketClient()));
    RestTemplateXhrTransport xhrTransport = new RestTemplateXhrTransport(new RestTemplate());
    xhrTransport.setRequestHeaders(headers);
    transports.add(xhrTransport);

    sockJsClient = new SockJsClient(transports);

}

From source file:com.codeveo.lago.bot.stomp.client.AbstractHttpLagoBot.java

protected void setupAndSignInClient(String lagoUrl, String botUsername, String botPassword,
        LagoRequestHelper requestHelper) throws Exception {
    try {/*w w  w . java2s.  com*/
        if (requestHelper == null) {
            throw new Exception("Request helper must not be null");
        }

        if (!(requestHelper instanceof HttpLagoRequestHelper)) {
            throw new Exception("Requires instance of '" + HttpLagoRequestHelper.class.getSimpleName()
                    + "' not '" + requestHelper.getClass().getSimpleName() + "'");
        }

        HttpLagoRequestHelper httpRequestHelper = (HttpLagoRequestHelper) requestHelper;

        lagoBot = new RLagoBot(null, null, botUsername, botPassword);

        Builder builder = new AsyncHttpClientConfig.Builder();
        Realm realm = new Realm.RealmBuilder().setPrincipal(botUsername).setPassword(botPassword)
                .setUsePreemptiveAuth(true).setScheme(AuthScheme.BASIC).build();
        builder.setRealm(realm).build();

        asyncHttpClient = new AsyncHttpClient(builder.build());

        Pair<Integer, String> statusWithCookieOrFaultJSON = HttpLagoRequestHelper.signIn(lagoUrl, botUsername,
                botPassword);

        int statusCode = statusWithCookieOrFaultJSON.getLeft();

        if (statusCode == HttpStatus.CREATED.value()) {
            cookie = statusWithCookieOrFaultJSON.getRight();

            /* websocket headers */
            wsHeaders.add("Cookie", cookie);
        } else {
            String faultJSON = statusWithCookieOrFaultJSON.getRight();

            if (faultJSON != null) {
                RFault fault = objectMapper.readValue(faultJSON, RFault.class);

                if (fault != null) {
                    throw new Exception("Error occured during authentication (HTTP status code: " + statusCode
                            + ", Error code: " + fault.getErrorCode() + ", Message: '" + fault.getMessage()
                            + "')");
                }
            }

            throw new Exception("Error occured during authentication (HTTP status code: " + statusCode);
        }

        if (cookie == null) {
            throw new Exception("Bot '" + botUsername + "' could not sign in");
        }

        /* setup request helper */
        httpRequestHelper.setAsyncHttpClient(asyncHttpClient).setCookie(cookie).setObjectMapper(objectMapper)
                .setServerUrl(lagoUrl);
        this.httpLagoRequestHelper = httpRequestHelper;

        String wsLagoUrl = toWsUrl(lagoUrl);
        URI uri = new URI(wsLagoUrl + WebServiceUserDesc.WS_PATH);

        LagoStompMessageHandler messageListener = new LagoStompMessageHandler(lagoBot, queue);

        List<Transport> transports = new ArrayList<>();
        transports.add(new WebSocketTransport(new StandardWebSocketClient()));
        RestTemplateXhrTransport xhrTransport = new RestTemplateXhrTransport(new RestTemplate());
        xhrTransport.setRequestHeaders(wsHeaders);
        transports.add(xhrTransport);

        sockJsClient = new SockJsClient(transports);
        stompClient = new WebSocketStompClient(uri, wsHeaders, sockJsClient);
        stompClient.setMessageConverter(converter);
        stompClient.connect(messageListener);

        taskExecutor.submit(new StompMessageListener());
    } catch (Exception e) {
        if (cookie != null) {
            httpLagoRequestHelper.signOut();
        }

        throw new Exception("Error occured while initializing lago bot", e);
    }
}

From source file:org.appverse.web.framework.backend.frontfacade.websocket.IntegrationWebsocketTest.java

@BeforeClass
public static void setup() throws Exception {

    // Since test classpath includes both embedded Tomcat and Jetty we need to
    // set a Spring profile explicitly to bypass WebSocket engine detection.
    // See {@link org.springframework.samples.portfolio.config.WebSocketConfig}

    // This test is not supported with Jetty because it doesn't seem to support
    // deployment withspecific ServletContainerInitializer's at for testing

    System.setProperty("spring.profiles.active", "test.tomcat");

    port = SocketUtils.findAvailableTcpPort();

    server = new TomcatWebSocketTestServer(port);
    server.deployConfig(TestDispatcherServletInitializer.class, WebSecurityInitializer.class);
    server.start();//from w  ww.  ja  v a 2  s  . c  o m

    loginAndSaveJsessionIdCookie("fabrice", "fab123", headers);

    List<Transport> transports = new ArrayList<>();
    transports.add(new WebSocketTransport(new StandardWebSocketClient()));
    RestTemplateXhrTransport xhrTransport = new RestTemplateXhrTransport(new RestTemplate());
    xhrTransport.setRequestHeaders(headers);
    transports.add(xhrTransport);

    sockJsClient = new SockJsClient(transports);
}