Example usage for org.springframework.web.reactive.socket HandshakeInfo HandshakeInfo

List of usage examples for org.springframework.web.reactive.socket HandshakeInfo HandshakeInfo

Introduction

In this page you can find the example usage for org.springframework.web.reactive.socket HandshakeInfo HandshakeInfo.

Prototype

public HandshakeInfo(URI uri, HttpHeaders headers, Mono<Principal> principal, @Nullable String protocol) 

Source Link

Document

Constructor with basic information about the handshake.

Usage

From source file:org.springframework.web.reactive.socket.client.JettyWebSocketClient.java

private HandshakeInfo createHandshakeInfo(URI url, Session jettySession) {
    HttpHeaders headers = new HttpHeaders();
    jettySession.getUpgradeResponse().getHeaders().forEach(headers::put);
    String protocol = headers.getFirst("Sec-WebSocket-Protocol");
    return new HandshakeInfo(url, headers, Mono.empty(), protocol);
}

From source file:org.springframework.web.reactive.socket.client.ReactorNettyWebSocketClient.java

@Override
public Mono<Void> execute(URI url, HttpHeaders requestHeaders, WebSocketHandler handler) {
    return getHttpClient().headers(nettyHeaders -> setNettyHeaders(requestHeaders, nettyHeaders))
            .websocket(StringUtils.collectionToCommaDelimitedString(handler.getSubProtocols()))
            .uri(url.toString()).handle((inbound, outbound) -> {
                HttpHeaders responseHeaders = toHttpHeaders(inbound);
                String protocol = responseHeaders.getFirst("Sec-WebSocket-Protocol");
                HandshakeInfo info = new HandshakeInfo(url, responseHeaders, Mono.empty(), protocol);
                NettyDataBufferFactory factory = new NettyDataBufferFactory(outbound.alloc());
                WebSocketSession session = new ReactorNettyWebSocketSession(inbound, outbound, info, factory);
                if (logger.isDebugEnabled()) {
                    logger.debug("Started session '" + session.getId() + "' for " + url);
                }/*from   w  w  w. j a v a2 s.c  o m*/
                return handler.handle(session);
            }).doOnRequest(n -> {
                if (logger.isDebugEnabled()) {
                    logger.debug("Connecting to " + url);
                }
            }).next();
}

From source file:org.springframework.web.reactive.socket.client.StandardWebSocketClient.java

private HandshakeInfo createHandshakeInfo(URI url, DefaultConfigurator configurator) {
    HttpHeaders responseHeaders = configurator.getResponseHeaders();
    String protocol = responseHeaders.getFirst("Sec-WebSocket-Protocol");
    return new HandshakeInfo(url, responseHeaders, Mono.empty(), protocol);
}

From source file:org.springframework.web.reactive.socket.client.UndertowWebSocketClient.java

private HandshakeInfo createHandshakeInfo(URI url, DefaultNegotiation negotiation) {
    HttpHeaders responseHeaders = negotiation.getResponseHeaders();
    String protocol = responseHeaders.getFirst("Sec-WebSocket-Protocol");
    return new HandshakeInfo(url, responseHeaders, Mono.empty(), protocol);
}

From source file:org.springframework.web.reactive.socket.client.WebSocketClientSupport.java

protected HandshakeInfo afterHandshake(URI url, HttpHeaders responseHeaders) {
    if (logger.isDebugEnabled()) {
        logger.debug("Handshake response: " + url + ", " + responseHeaders);
    }//  ww w.  ja v  a2  s . com
    String protocol = responseHeaders.getFirst(SEC_WEBSOCKET_PROTOCOL);
    return new HandshakeInfo(url, responseHeaders, Mono.empty(), protocol);
}