インターフェース RequestUpgradeStrategy
- すべての既知の実装クラス:
AbstractStandardUpgradeStrategy
、AbstractTyrusRequestUpgradeStrategy
、GlassFishRequestUpgradeStrategy
、JettyRequestUpgradeStrategy
、StandardWebSocketUpgradeStrategy
、TomcatRequestUpgradeStrategy
、UndertowRequestUpgradeStrategy
、WebLogicRequestUpgradeStrategy
、WebSphereRequestUpgradeStrategy
public interface RequestUpgradeStrategy
WebSocket 交換への実際のアップグレードを実行するためのサーバー固有の戦略。
- 導入:
- 4.0
- 作成者:
- Rossen Stoyanchev
- 関連事項:
メソッドのサマリー
修飾子と型メソッド説明getSupportedExtensions
(ServerHttpRequest request) 基礎となる WebSocket サーバーによってサポートされる WebSocket プロトコル拡張機能を返します。StringSE[]
サポートされている WebSocket プロトコルバージョンを返します。void
upgrade
(ServerHttpRequest request, ServerHttpResponse response, StringSE selectedProtocol, ListSE<WebSocketExtension> selectedExtensions, PrincipalSE user, WebSocketHandler wsHandler, MapSE<StringSE, ObjectSE> attributes) ランタイム固有の手順を実行して、アップグレードを完了します。
メソッドの詳細
getSupportedVersions
StringSE[] getSupportedVersions()サポートされている WebSocket プロトコルバージョンを返します。getSupportedExtensions
基礎となる WebSocket サーバーによってサポートされる WebSocket プロトコル拡張機能を返します。upgrade
void upgrade(ServerHttpRequest request, ServerHttpResponse response, @Nullable StringSE selectedProtocol, ListSE<WebSocketExtension> selectedExtensions, @Nullable PrincipalSE user, WebSocketHandler wsHandler, MapSE<StringSE, ObjectSE> attributes) throws HandshakeFailureExceptionランタイム固有の手順を実行して、アップグレードを完了します。ハンドシェイクリクエストのネゴシエーションが成功した後に呼び出されます。- パラメーター:
request
- 現在のリクエストresponse
- 現在のレスポンスselectedProtocol
- 選択されたサブプロトコル(存在する場合)selectedExtensions
- 選択された WebSocket プロトコル拡張user
- WebSocket セッションに関連付けるユーザーwsHandler
- WebSocket メッセージのハンドラーattributes
- ハンドシェイクは、HandshakeInterceptor
を介して WebSocket セッションで設定され、WebSocketHandler
で利用可能になる特定の属性をリクエストします。- 例外:
HandshakeFailureException
- ハンドシェイクリクエストの要件のネゴシエーションに失敗したのではなく、内部の回復不可能なエラー、つまりサーバーエラーが原因でハンドシェイク処理が完了しなかった場合にスローされます。