Interface SubProtocolHandler
- All Known Implementing Classes:
StompSubProtocolHandler
public interface SubProtocolHandler
A contract for handling WebSocket messages as part of a higher level protocol, referred to as "sub-protocol" in the WebSocket RFC specification. Handles bothWebSocketMessages from a client as well asMessages to a client.Implementations of this interface can be configured on a
SubProtocolWebSocketHandlerwhich selects a sub-protocol handler to delegate messages to based on the sub-protocol requested by the client through theSec-WebSocket-Protocolrequest header.- Since:
- 4.0
- Author:
- Andy Wilkinson, Rossen Stoyanchev
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidafterSessionEnded(WebSocketSession session, CloseStatus closeStatus, MessageChannel outputChannel)Invoked after aWebSocketSessionhas ended.voidafterSessionStarted(WebSocketSession session, MessageChannel outputChannel)Invoked after aWebSocketSessionhas started.List<String>getSupportedProtocols()Return the list of sub-protocols supported by this handler (nevernull).voidhandleMessageFromClient(WebSocketSession session, WebSocketMessage<?> message, MessageChannel outputChannel)Handle the givenWebSocketMessagereceived from a client.voidhandleMessageToClient(WebSocketSession session, Message<?> message)Handle the givenMessageto the client associated with the given WebSocket session.StringresolveSessionId(Message<?> message)Resolve the session id from the given message or returnnull.
Method Detail
getSupportedProtocols
List<String> getSupportedProtocols()
Return the list of sub-protocols supported by this handler (nevernull).
handleMessageFromClient
void handleMessageFromClient(WebSocketSession session, WebSocketMessage<?> message, MessageChannel outputChannel) throws Exception
Handle the givenWebSocketMessagereceived from a client.- Parameters:
session- the client sessionmessage- the client messageoutputChannel- an output channel to send messages to- Throws:
Exception
handleMessageToClient
void handleMessageToClient(WebSocketSession session, Message<?> message) throws Exception
Handle the givenMessageto the client associated with the given WebSocket session.- Parameters:
session- the client sessionmessage- the client message- Throws:
Exception
resolveSessionId
String resolveSessionId(Message<?> message)
Resolve the session id from the given message or returnnull.- Parameters:
message- the message to resolve the session id from
afterSessionStarted
void afterSessionStarted(WebSocketSession session, MessageChannel outputChannel) throws Exception
Invoked after aWebSocketSessionhas started.- Parameters:
session- the client sessionoutputChannel- a channel- Throws:
Exception
afterSessionEnded
void afterSessionEnded(WebSocketSession session, CloseStatus closeStatus, MessageChannel outputChannel) throws Exception
Invoked after aWebSocketSessionhas ended.- Parameters:
session- the client sessioncloseStatus- the reason why the session was closedoutputChannel- a channel- Throws:
Exception