Class WebsocketHandshakeTransformArgs


  • public final class WebsocketHandshakeTransformArgs
    extends Object
    Arguments to a websocket handshake transform operation. The transform may modify the http request before it is sent to the server. The transform MUST call complete() or completeExceptionally() when the transform is complete, failure to do so will stall the mqtt connection indefinitely. The transform operation may be asynchronous. The default websocket handshake http request uses path "/mqtt". All required headers for a websocket handshake are present, plus the optional header "Sec-WebSocket-Protocol: mqtt".
    • Constructor Detail

      • WebsocketHandshakeTransformArgs

        public WebsocketHandshakeTransformArgs​(MqttClientConnection mqttConnection,
                                               HttpRequest httpRequest,
                                               CompletableFuture<HttpRequest> future)
        Parameters:
        mqttConnection - mqtt client connection that is establishing a websocket connection
        httpRequest - http request that may be modified by the transform operation
        future - Future to complete when the transform is complete.
    • Method Detail

      • getMqttClientConnection

        public MqttClientConnection getMqttClientConnection()
        Queries the mqtt client connection.
        Returns:
        the mqtt client connection.
      • getHttpRequest

        public HttpRequest getHttpRequest()
        Get the http request that will be used to perform the websocket handshake. The transform operation may modify this request.
        Returns:
        The http request that will be used to perform the websocket handshake
      • complete

        public void complete​(HttpRequest signedRequest)
        Mark the transform operation as successfully completed. The websocket connection will proceed, using the http request.
        Parameters:
        signedRequest - completed request
      • completeExceptionally

        public void completeExceptionally​(Throwable ex)
        Mark the transform operation as unsuccessfully completed. The websocket connection attempt will be canceled.
        Parameters:
        ex - the exception