Class WebSocketClientHandshaker13

    • Field Detail

      • expectedChallengeResponseString

        private java.lang.String expectedChallengeResponseString
      • allowExtensions

        private final boolean allowExtensions
    • Constructor Detail

      • WebSocketClientHandshaker13

        public WebSocketClientHandshaker13​(java.net.URI webSocketURL,
                                           WebSocketVersion version,
                                           java.lang.String subprotocol,
                                           boolean allowExtensions,
                                           java.util.Map<java.lang.String,​java.lang.String> customHeaders)
        Constructor with default values
        Parameters:
        webSocketURL - URL for web socket communications. e.g "ws://myhost.com/mypath". Subsequent web socket frames will be sent to this URL.
        version - Version of web socket specification to use to connect to the server
        subprotocol - Sub protocol request sent to the server.
        allowExtensions - Allow extensions to be used in the reserved bits of the web socket frame
        customHeaders - Map of custom headers to add to the client request
      • WebSocketClientHandshaker13

        public WebSocketClientHandshaker13​(java.net.URI webSocketURL,
                                           WebSocketVersion version,
                                           java.lang.String subprotocol,
                                           boolean allowExtensions,
                                           java.util.Map<java.lang.String,​java.lang.String> customHeaders,
                                           long maxFramePayloadLength)
        Constructor
        Parameters:
        webSocketURL - URL for web socket communications. e.g "ws://myhost.com/mypath". Subsequent web socket frames will be sent to this URL.
        version - Version of web socket specification to use to connect to the server
        subprotocol - Sub protocol request sent to the server.
        allowExtensions - Allow extensions to be used in the reserved bits of the web socket frame
        customHeaders - Map of custom headers to add to the client request
        maxFramePayloadLength - Maximum length of a frame's payload
    • Method Detail

      • handshake

        public ChannelFuture handshake​(Channel channel)
                                throws java.lang.Exception
        /**

        Sends the opening request to the server:

         GET /chat HTTP/1.1
         Host: server.example.com
         Upgrade: websocket
         Connection: Upgrade
         Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
         Sec-WebSocket-Origin: http://example.com
         Sec-WebSocket-Protocol: chat, superchat
         Sec-WebSocket-Version: 13
         
        Specified by:
        handshake in class WebSocketClientHandshaker
        Parameters:
        channel - Channel into which we can write our request
        Throws:
        java.lang.Exception
      • finishHandshake

        public void finishHandshake​(Channel channel,
                                    HttpResponse response)

        Process server response:

         HTTP/1.1 101 Switching Protocols
         Upgrade: websocket
         Connection: Upgrade
         Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
         Sec-WebSocket-Protocol: chat
         
        Specified by:
        finishHandshake in class WebSocketClientHandshaker
        Parameters:
        channel - Channel
        response - HTTP response returned from the server for the request sent by beginOpeningHandshake00().
        Throws:
        WebSocketHandshakeException