org.springframework.web.reactive.socket.client

## Class StandardWebSocketClient

- java.lang.Object
- - org.springframework.web.reactive.socket.client.StandardWebSocketClient

- All Implemented Interfaces:
    WebSocketClient
  Direct Known Subclasses:
    TomcatWebSocketClient

      public class StandardWebSocketClient
      extends Object
      implements WebSocketClient

  `WebSocketClient` implementation for use with the Java WebSocket API.
  Since:
    5.0
  Author:
    Violeta Georgieva, Rossen Stoyanchev
  See Also:
    https://www.jcp.org/en/jsr/detail?id=356

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `StandardWebSocketClient()` Default constructor that calls `ContainerProvider.getWebSocketContainer()` to obtain a (new) `WebSocketContainer` instance.
    `StandardWebSocketClient(WebSocketContainer webSocketContainer)` Constructor accepting an existing `WebSocketContainer` instance.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected DataBufferFactory` | `bufferFactory()`
    `protected StandardWebSocketSession` | `createWebSocketSession(Session session, HandshakeInfo info, reactor.core.publisher.Sinks.Empty<Void> completionSink)`
    `reactor.core.publisher.Mono<Void>` | `execute(URI url, HttpHeaders headers, WebSocketHandler handler)` A variant of `WebSocketClient.execute(URI, WebSocketHandler)` with custom headers.
    `reactor.core.publisher.Mono<Void>` | `execute(URI url, WebSocketHandler handler)` Execute a handshake request to the given url and handle the resulting WebSocket session with the given handler.
    `WebSocketContainer` | `getWebSocketContainer()` Return the configured `WebSocketContainer` to use.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### StandardWebSocketClient

          public StandardWebSocketClient()

      Default constructor that calls `ContainerProvider.getWebSocketContainer()` to obtain a (new) `WebSocketContainer` instance.

    - #### StandardWebSocketClient

          public StandardWebSocketClient(WebSocketContainer webSocketContainer)

      Constructor accepting an existing `WebSocketContainer` instance.
      Parameters:
        `webSocketContainer` - a web socket container

  - ### Method Detail

    - #### getWebSocketContainer

          public WebSocketContainer getWebSocketContainer()

      Return the configured `WebSocketContainer` to use.

    - #### execute

          public reactor.core.publisher.Mono<Void> execute(URI url,
                                                           WebSocketHandler handler)

      Description copied from interface: `WebSocketClient`
      Execute a handshake request to the given url and handle the resulting WebSocket session with the given handler.
      Specified by:
        `execute` in interface `WebSocketClient`
      Parameters:
        `url` - the handshake url
        `handler` - the handler of the WebSocket session
      Returns:
        completion `Mono<Void>` to indicate the outcome of the WebSocket session handling.

    - #### execute

          public reactor.core.publisher.Mono<Void> execute(URI url,
                                                           HttpHeaders headers,
                                                           WebSocketHandler handler)

      Description copied from interface: `WebSocketClient`
      A variant of `WebSocketClient.execute(URI, WebSocketHandler)` with custom headers.
      Specified by:
        `execute` in interface `WebSocketClient`
      Parameters:
        `url` - the handshake url
        `headers` - custom headers for the handshake request
        `handler` - the handler of the WebSocket session
      Returns:
        completion `Mono<Void>` to indicate the outcome of the WebSocket session handling.

    - #### createWebSocketSession

          protected StandardWebSocketSession createWebSocketSession(Session session,
                                                                    HandshakeInfo info,
                                                                    reactor.core.publisher.Sinks.Empty<Void> completionSink)

    - #### bufferFactory

          protected DataBufferFactory bufferFactory()