org.springframework.web.socket.handler

## Class ExceptionWebSocketHandlerDecorator

- java.lang.Object
- - org.springframework.web.socket.handler.WebSocketHandlerDecorator
  - - org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator

All Implemented Interfaces:
  WebSocketHandler

    public class ExceptionWebSocketHandlerDecorator
    extends WebSocketHandlerDecorator

An exception handling `WebSocketHandlerDecorator`. Traps all `Throwable` instances that escape from the decorated handler and closes the session with `CloseStatus.SERVER_ERROR`.

Since:
  4.0
Author:
  Rossen Stoyanchev

### Constructor Summary

Constructors
Constructor and Description
`ExceptionWebSocketHandlerDecorator(WebSocketHandler delegate)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`void` `afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus)` Invoked after the WebSocket connection has been closed by either side, or after a transport error has occurred.
`void` `afterConnectionEstablished(WebSocketSession session)` Invoked after WebSocket negotiation has succeeded and the WebSocket connection is opened and ready for use.
`void` `handleMessage(WebSocketSession session, WebSocketMessage<?> message)` Invoked when a new WebSocket message arrives.
`void` `handleTransportError(WebSocketSession session, Throwable exception)` Handle an error from the underlying WebSocket message transport.
`static void` `tryCloseWithError(WebSocketSession session, Throwable exception, Log logger)`

### Methods inherited from class org.springframework.web.socket.handler.WebSocketHandlerDecorator

`getDelegate, getLastHandler, supportsPartialMessages, toString, unwrap`

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

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

### Constructor Detail

#### ExceptionWebSocketHandlerDecorator

    public ExceptionWebSocketHandlerDecorator(WebSocketHandler delegate)

### Method Detail

#### afterConnectionEstablished

    public void afterConnectionEstablished(WebSocketSession session)

Description copied from interface: `WebSocketHandler`
Invoked after WebSocket negotiation has succeeded and the WebSocket connection is opened and ready for use.

Specified by:
  `afterConnectionEstablished` in interface `WebSocketHandler`
Overrides:
  `afterConnectionEstablished` in class `WebSocketHandlerDecorator`

#### handleMessage

    public void handleMessage(WebSocketSession session,
                              WebSocketMessage<?> message)

Description copied from interface: `WebSocketHandler`
Invoked when a new WebSocket message arrives.

Specified by:
  `handleMessage` in interface `WebSocketHandler`
Overrides:
  `handleMessage` in class `WebSocketHandlerDecorator`

#### handleTransportError

    public void handleTransportError(WebSocketSession session,
                                     Throwable exception)

Description copied from interface: `WebSocketHandler`
Handle an error from the underlying WebSocket message transport.

Specified by:
  `handleTransportError` in interface `WebSocketHandler`
Overrides:
  `handleTransportError` in class `WebSocketHandlerDecorator`

#### afterConnectionClosed

    public void afterConnectionClosed(WebSocketSession session,
                                      CloseStatus closeStatus)

Description copied from interface: `WebSocketHandler`
Invoked after the WebSocket connection has been closed by either side, or after a transport error has occurred. Although the session may technically still be open, depending on the underlying implementation, sending messages at this point is discouraged and most likely will not succeed.

Specified by:
  `afterConnectionClosed` in interface `WebSocketHandler`
Overrides:
  `afterConnectionClosed` in class `WebSocketHandlerDecorator`

#### tryCloseWithError

    public static void tryCloseWithError(WebSocketSession session,
                                         Throwable exception,
                                         Log logger)