Interface WebSocketUpgrade

All Known Subinterfaces:
WebSocketUpgrade
All Known Implementing Classes:
UpgradeToWebSocketLowLevel

public interface WebSocketUpgrade
An attribute that WebSocket requests will contain. Use WebSocketUpgrade.handleMessagesWith to create a WebSocket handshake response and handle the WebSocket message stream with the given handler.

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

  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the sequence of protocols the client accepts.
    handleMessagesWith(org.apache.pekko.stream.Graph<org.apache.pekko.stream.FlowShape<Message,Message>,?> handlerFlow)
    Returns a response that can be used to answer a WebSocket handshake request.
    handleMessagesWith(org.apache.pekko.stream.Graph<org.apache.pekko.stream.FlowShape<Message,Message>,?> handlerFlow, String subprotocol)
    Returns a response that can be used to answer a WebSocket handshake request.
    handleMessagesWith(org.apache.pekko.stream.Graph<org.apache.pekko.stream.SinkShape<Message>,?> inSink, org.apache.pekko.stream.Graph<org.apache.pekko.stream.SourceShape<Message>,?> outSource)
    Returns a response that can be used to answer a WebSocket handshake request.
    handleMessagesWith(org.apache.pekko.stream.Graph<org.apache.pekko.stream.SinkShape<Message>,?> inSink, org.apache.pekko.stream.Graph<org.apache.pekko.stream.SourceShape<Message>,?> outSource, String subprotocol)
    Returns a response that can be used to answer a WebSocket handshake request.
  • Method Details

    • getRequestedProtocols

      Iterable<String> getRequestedProtocols()
      Returns the sequence of protocols the client accepts.

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

      Returns:
      (undocumented)
    • handleMessagesWith

      HttpResponse handleMessagesWith(org.apache.pekko.stream.Graph<org.apache.pekko.stream.FlowShape<Message,Message>,?> handlerFlow)
      Returns a response that can be used to answer a WebSocket handshake request. The connection will afterwards use the given handlerFlow to handle WebSocket messages from the client.
      Parameters:
      handlerFlow - (undocumented)
      Returns:
      (undocumented)
    • handleMessagesWith

      HttpResponse handleMessagesWith(org.apache.pekko.stream.Graph<org.apache.pekko.stream.FlowShape<Message,Message>,?> handlerFlow, String subprotocol)
      Returns a response that can be used to answer a WebSocket handshake request. The connection will afterwards use the given handlerFlow to handle WebSocket messages from the client. The given subprotocol must be one of the ones offered by the client.
      Parameters:
      handlerFlow - (undocumented)
      subprotocol - (undocumented)
      Returns:
      (undocumented)
    • handleMessagesWith

      HttpResponse handleMessagesWith(org.apache.pekko.stream.Graph<org.apache.pekko.stream.SinkShape<Message>,?> inSink, org.apache.pekko.stream.Graph<org.apache.pekko.stream.SourceShape<Message>,?> outSource)
      Returns a response that can be used to answer a WebSocket handshake request. The connection will afterwards use the given inSink to handle WebSocket messages from the client and the given outSource to send messages to the client.
      Parameters:
      inSink - (undocumented)
      outSource - (undocumented)
      Returns:
      (undocumented)
    • handleMessagesWith

      HttpResponse handleMessagesWith(org.apache.pekko.stream.Graph<org.apache.pekko.stream.SinkShape<Message>,?> inSink, org.apache.pekko.stream.Graph<org.apache.pekko.stream.SourceShape<Message>,?> outSource, String subprotocol)
      Returns a response that can be used to answer a WebSocket handshake request. The connection will afterwards use the given inSink to handle WebSocket messages from the client and the given outSource to send messages to the client.

      The given subprotocol must be one of the ones offered by the client.

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