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 Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description List<WebSocketExtension>getSupportedExtensions(ServerHttpRequest request)Return the WebSocket protocol extensions supported by the underlying WebSocket server.String[]getSupportedVersions()Return the supported WebSocket protocol versions.voidupgrade(ServerHttpRequest request, ServerHttpResponse response, String selectedProtocol, List<WebSocketExtension> selectedExtensions, Principal user, WebSocketHandler wsHandler, Map<String,Object> attributes)Perform runtime specific steps to complete the upgrade.
Method Detail
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, String selectedProtocol, List<WebSocketExtension> selectedExtensions, 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 requestresponse- the current responseselectedProtocol- the selected sub-protocol, if anyselectedExtensions- the selected WebSocket protocol extensionsuser- the user to associate with the WebSocket sessionwsHandler- the handler for WebSocket messagesattributes- handshake request specific attributes to be set on the WebSocket session viaHandshakeInterceptorand thus made available to theWebSocketHandler- 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.