Class WebSocketDirectives

    • Constructor Detail

      • WebSocketDirectives

        public WebSocketDirectives()
    • Method Detail

      • extractOfferedWsProtocols

        public Route extractOfferedWsProtocols​(java.util.function.Function<java.util.List<java.lang.String>,​Route> inner)
        Extract the list of WebSocket subprotocols as offered by the client in the {@link Sec-WebSocket-Protocol} header if this is a WebSocket request. Rejects with an ExpectedWebSocketRequestRejection, otherwise.
        Parameters:
        inner - (undocumented)
        Returns:
        (undocumented)
      • extractUpgradeToWebSocket

        public Route extractUpgradeToWebSocket​(java.util.function.Function<UpgradeToWebSocket,​Route> inner)
        Deprecated.
        use webSocketUpgrade instead since 10.2.0
        Extract the UpgradeToWebSocket header if existent. Rejects with an ExpectedWebSocketRequestRejection, otherwise.

        Parameters:
        inner - (undocumented)
        Returns:
        (undocumented)
      • extractWebSocketUpgrade

        public Route extractWebSocketUpgrade​(java.util.function.Function<WebSocketUpgrade,​Route> inner)
        Extract the UpgradeToWebSocket attribute if this is a WebSocket request. Rejects with an ExpectedWebSocketRequestRejection, otherwise.
        Parameters:
        inner - (undocumented)
        Returns:
        (undocumented)
      • handleWebSocketMessages

        public <T> Route handleWebSocketMessages​(akka.stream.javadsl.Flow<Message,​Message,​T> handler)
        Handles WebSocket requests with the given handler and rejects other requests with an ExpectedWebSocketRequestRejection.
        Parameters:
        handler - (undocumented)
        Returns:
        (undocumented)
      • handleWebSocketMessagesForOptionalProtocol

        public <T> Route handleWebSocketMessagesForOptionalProtocol​(akka.stream.javadsl.Flow<Message,​Message,​T> handler,
                                                                    java.util.Optional<java.lang.String> subprotocol)
        Handles WebSocket requests with the given handler and rejects other requests with an ExpectedWebSocketRequestRejection.

        If the subprotocol parameter is None any WebSocket request is accepted. If the subprotocol parameter is Some(protocol) a WebSocket request is only accepted if the list of subprotocols supported by the client (as announced in the WebSocket request) contains protocol. If the client did not offer the protocol in question the request is rejected with an UnsupportedWebSocketSubprotocolRejection rejection.

        To support several subprotocols you may chain several handleWebSocketMessagesForOptionalProtocol routes.

        Parameters:
        handler - (undocumented)
        subprotocol - (undocumented)
        Returns:
        (undocumented)
      • handleWebSocketMessagesForProtocol

        public <T> Route handleWebSocketMessagesForProtocol​(akka.stream.javadsl.Flow<Message,​Message,​T> handler,
                                                            java.lang.String subprotocol)
        Handles WebSocket requests with the given handler if the given subprotocol is offered in the request and rejects other requests with an ExpectedWebSocketRequestRejection or an UnsupportedWebSocketSubprotocolRejection.
        Parameters:
        handler - (undocumented)
        subprotocol - (undocumented)
        Returns:
        (undocumented)