Interface WebSocketUpgrade

All Superinterfaces:
WebSocketUpgrade
All Known Subinterfaces:
UpgradeToWebSocket
All Known Implementing Classes:
UpgradeToWebSocketLowLevel

public interface WebSocketUpgrade extends WebSocketUpgrade
An attribute that will be added to an WebSocket upgrade HttpRequest that enables a request handler to upgrade this connection to a WebSocket connection and registers a WebSocket handler.

This is a low-level API. You might want to use handleWebSocketMessages instead as documented at https://doc.akka.io/docs/akka-http/current/server-side/websocket-support.html#routing-support

  • Method Details

    • createScalaFlow

      akka.stream.Graph<akka.stream.FlowShape<Message,Message>,akka.NotUsed> createScalaFlow(akka.stream.Graph<akka.stream.SinkShape<Message>,?> inSink, akka.stream.Graph<akka.stream.SourceShape<Message>,?> outSource)
      Java API
      Parameters:
      inSink - (undocumented)
      outSource - (undocumented)
      Returns:
      (undocumented)
    • getRequestedProtocols

      Iterable<String> getRequestedProtocols()
      Java API
      Specified by:
      getRequestedProtocols in interface WebSocketUpgrade
      Returns:
      (undocumented)
    • handleMessages

      HttpResponse handleMessages(akka.stream.Graph<akka.stream.FlowShape<Message,Message>,Object> handlerFlow, scala.Option<String> subprotocol)
      The high-level interface to create a WebSocket server based on "messages".

      Returns a response to return in a request handler that will signal the low-level HTTP implementation to upgrade the connection to WebSocket and use the supplied handler to handle incoming WebSocket messages.

      Optionally, a subprotocol out of the ones requested by the client can be chosen.

      Parameters:
      handlerFlow - (undocumented)
      subprotocol - (undocumented)
      Returns:
      (undocumented)
    • handleMessagesWith

      HttpResponse handleMessagesWith(akka.stream.Graph<akka.stream.FlowShape<Message,Message>,?> handlerFlow)
      Java API
      Specified by:
      handleMessagesWith in interface WebSocketUpgrade
      Parameters:
      handlerFlow - (undocumented)
      Returns:
      (undocumented)
    • handleMessagesWith

      HttpResponse handleMessagesWith(akka.stream.Graph<akka.stream.FlowShape<Message,Message>,?> handlerFlow, String subprotocol)
      Java API
      Specified by:
      handleMessagesWith in interface WebSocketUpgrade
      Parameters:
      handlerFlow - (undocumented)
      subprotocol - (undocumented)
      Returns:
      (undocumented)
    • handleMessagesWith

      HttpResponse handleMessagesWith(akka.stream.Graph<akka.stream.SinkShape<Message>,?> inSink, akka.stream.Graph<akka.stream.SourceShape<Message>,?> outSource)
      Java API
      Specified by:
      handleMessagesWith in interface WebSocketUpgrade
      Parameters:
      inSink - (undocumented)
      outSource - (undocumented)
      Returns:
      (undocumented)
    • handleMessagesWith

      HttpResponse handleMessagesWith(akka.stream.Graph<akka.stream.SinkShape<Message>,?> inSink, akka.stream.Graph<akka.stream.SourceShape<Message>,?> outSource, String subprotocol)
      Java API
      Specified by:
      handleMessagesWith in interface WebSocketUpgrade
      Parameters:
      inSink - (undocumented)
      outSource - (undocumented)
      subprotocol - (undocumented)
      Returns:
      (undocumented)
    • handleMessagesWithSinkSource

      HttpResponse handleMessagesWithSinkSource(akka.stream.Graph<akka.stream.SinkShape<Message>,Object> inSink, akka.stream.Graph<akka.stream.SourceShape<Message>,Object> outSource, scala.Option<String> subprotocol)
      The high-level interface to create a WebSocket server based on "messages".

      Returns a response to return in a request handler that will signal the low-level HTTP implementation to upgrade the connection to WebSocket and use the supplied inSink to consume messages received from the client and the supplied outSource to produce message to sent to the client.

      Optionally, a subprotocol out of the ones requested by the client can be chosen.

      Parameters:
      inSink - (undocumented)
      outSource - (undocumented)
      subprotocol - (undocumented)
      Returns:
      (undocumented)
    • requestedProtocols

      scala.collection.immutable.Seq<String> requestedProtocols()
      A sequence of protocols the client accepts.

      See http://tools.ietf.org/html/rfc6455#section-1.9

      Returns:
      (undocumented)