org.springframework.web.reactive.socket.server.support

## Class WebSocketHandlerAdapter

- java.lang.Object
- - org.springframework.web.reactive.socket.server.support.WebSocketHandlerAdapter

All Implemented Interfaces:
  HandlerAdapter

    public class WebSocketHandlerAdapter
    extends Object
    implements HandlerAdapter

`HandlerAdapter` that allows using a `WebSocketHandler` with the generic `DispatcherHandler` mapping URLs directly to such handlers. Requests are handled by delegating to the configured `WebSocketService` which by default is `HandshakeWebSocketService`.

Since:
  5.0
Author:
  Rossen Stoyanchev

### Constructor Summary

Constructors
Constructor and Description
`WebSocketHandlerAdapter()` Default constructor that creates and uses a `HandshakeWebSocketService`.
`WebSocketHandlerAdapter(WebSocketService webSocketService)` Alternative constructor with the `WebSocketService` to use.

### Method Summary

All Methods Instance Methods Concrete Methods
`WebSocketService` `getWebSocketService()` Return the configured `WebSocketService` to handle requests.
`reactor.core.publisher.Mono<HandlerResult>` `handle(org.springframework.web.server.ServerWebExchange exchange, Object handler)` Handle the request with the given handler.
`boolean` `supports(Object handler)` Whether this `HandlerAdapter` supports the given `handler`.

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

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

### Constructor Detail

#### WebSocketHandlerAdapter

    public WebSocketHandlerAdapter()

Default constructor that creates and uses a `HandshakeWebSocketService`.

#### WebSocketHandlerAdapter

    public WebSocketHandlerAdapter(WebSocketService webSocketService)

Alternative constructor with the `WebSocketService` to use.

### Method Detail

#### getWebSocketService

    public WebSocketService getWebSocketService()

Return the configured `WebSocketService` to handle requests.

#### supports

    public boolean supports(Object handler)

Description copied from interface: `HandlerAdapter`
Whether this `HandlerAdapter` supports the given `handler`.

Specified by:
  `supports` in interface `HandlerAdapter`
Parameters:
  `handler` - the handler object to check
Returns:
  whether or not the handler is supported

#### handle

    public reactor.core.publisher.Mono<HandlerResult> handle(org.springframework.web.server.ServerWebExchange exchange,
                                                             Object handler)

Description copied from interface: `HandlerAdapter`
Handle the request with the given handler.

Implementations are encouraged to handle exceptions resulting from the invocation of a handler in order and if necessary to return an alternate result that represents an error response.

Furthermore since an async `HandlerResult` may produce an error later during result handling implementations are also encouraged to `set an exception handler` on the `HandlerResult` so that may also be applied later after result handling.

Specified by:
  `handle` in interface `HandlerAdapter`
Parameters:
  `exchange` - current server exchange
  `handler` - the selected handler which must have been previously checked via `HandlerAdapter.supports(Object)`
Returns:
  `Mono` that emits a single `HandlerResult` or none if the request has been fully handled and doesn't require further handling.