Interface RequestUpgradeStrategy

All Known Implementing Classes:
AbstractStandardUpgradeStrategy, AbstractTyrusRequestUpgradeStrategy, GlassFishRequestUpgradeStrategy, JettyRequestUpgradeStrategy, TomcatRequestUpgradeStrategy, UndertowRequestUpgradeStrategy, WebLogicRequestUpgradeStrategy, WebSphereRequestUpgradeStrategy

public interface RequestUpgradeStrategy
A server-specific strategy for performing the actual upgrade to a WebSocket exchange.
Since:
4.0
Author:
Rossen Stoyanchev
  • Method Details

    • getSupportedVersions

      String[] getSupportedVersions()
      Return the supported WebSocket protocol versions.
    • getSupportedExtensions

      List<WebSocketExtension> getSupportedExtensions(ServerHttpRequest request)
      Return the WebSocket protocol extensions supported by the underlying WebSocket server.
    • upgrade

      void upgrade(ServerHttpRequest request, ServerHttpResponse response, @Nullable String selectedProtocol, List<WebSocketExtension> selectedExtensions, @Nullable Principal user, WebSocketHandler wsHandler, Map<String,Object> attributes) throws HandshakeFailureException
      Perform runtime specific steps to complete the upgrade. Invoked after successful negotiation of the handshake request.
      Parameters:
      request - the current request
      response - the current response
      selectedProtocol - the selected sub-protocol, if any
      selectedExtensions - the selected WebSocket protocol extensions
      user - the user to associate with the WebSocket session
      wsHandler - the handler for WebSocket messages
      attributes - handshake request specific attributes to be set on the WebSocket session via HandshakeInterceptor and thus made available to the WebSocketHandler
      Throws:
      HandshakeFailureException - thrown when handshake processing failed to complete due to an internal, unrecoverable error, i.e. a server error as opposed to a failure to successfully negotiate the requirements of the handshake request.