クラス HttpSessionHandshakeInterceptor
java.lang.ObjectSE
org.springframework.web.socket.server.support.HttpSessionHandshakeInterceptor
- 実装されたすべてのインターフェース:
HandshakeInterceptor
WebSocketSession.getAttributes()
を介して利用できるように、HTTP セッションから「ハンドシェイク属性」マップに情報をコピーするインターセプター。 サブセットまたはすべての HTTP セッション属性および / または HTTP セッション ID をキー HTTP_SESSION_ID_ATTR_NAME
にコピーします。
- 導入:
- 4.0
- 作成者:
- Rossen Stoyanchev
フィールドサマリー
コンストラクターのサマリー
コンストラクター説明すべての HTTP セッション属性と HTTP セッション ID をコピーするためのデフォルトのコンストラクター。HttpSessionHandshakeInterceptor
(CollectionSE<StringSE> attributeNames) 特定の HTTP セッション属性と HTTP セッション ID をコピーするためのコンストラクター。メソッドのサマリー
修飾子と型メソッド説明void
afterHandshake
(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, ExceptionSE ex) ハンドシェイクが完了した後に呼び出されます。boolean
beforeHandshake
(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, MapSE<StringSE, ObjectSE> attributes) ハンドシェイクが処理される前に呼び出されます。コピーする構成済みの属性名を返します(読み取り専用)。boolean
すべての HTTP セッション属性をコピーするかどうか。boolean
HTTP セッション ID をハンドシェイク属性にコピーするかどうか。boolean
HTTP セッションの作成を許可するかどうか。void
setCopyAllAttributes
(boolean copyAllAttributes) HTTP セッションからすべての属性をコピーするかどうか。void
setCopyHttpSessionId
(boolean copyHttpSessionId) HTTP セッション ID をキーHTTP_SESSION_ID_ATTR_NAME
のハンドシェイク属性にコピーする必要があるかどうか。void
setCreateSession
(boolean createSession) アクセス中に HTTP セッションの作成を許可するかどうか。
フィールドの詳細
HTTP_SESSION_ID_ATTR_NAME
copyHttpSessionId
が "true" の場合に HTTP セッション ID が公開される属性の名前。- 関連事項:
コンストラクターの詳細
HttpSessionHandshakeInterceptor
public HttpSessionHandshakeInterceptor()すべての HTTP セッション属性と HTTP セッション ID をコピーするためのデフォルトのコンストラクター。HttpSessionHandshakeInterceptor
特定の HTTP セッション属性と HTTP セッション ID をコピーするためのコンストラクター。- パラメーター:
attributeNames
- コピーするセッション属性- 関連事項:
メソッドの詳細
getAttributeNames
コピーする構成済みの属性名を返します(読み取り専用)。setCopyAllAttributes
public void setCopyAllAttributes(boolean copyAllAttributes) HTTP セッションからすべての属性をコピーするかどうか。"true" に設定すると、明示的に構成された属性名は無視されます。デフォルトでは、これは、使用されたコンストラクターに応じて "true" または "false" に設定されます(デフォルトまたはそれぞれ属性名を使用)。
- パラメーター:
copyAllAttributes
- すべての属性をコピーするかどうか
isCopyAllAttributes
public boolean isCopyAllAttributes()すべての HTTP セッション属性をコピーするかどうか。setCopyHttpSessionId
public void setCopyHttpSessionId(boolean copyHttpSessionId) HTTP セッション ID をキーHTTP_SESSION_ID_ATTR_NAME
のハンドシェイク属性にコピーする必要があるかどうか。デフォルトでは "true" です。
- パラメーター:
copyHttpSessionId
- HTTP セッション ID をコピーするかどうか。
isCopyHttpSessionId
public boolean isCopyHttpSessionId()HTTP セッション ID をハンドシェイク属性にコピーするかどうか。setCreateSession
public void setCreateSession(boolean createSession) アクセス中に HTTP セッションの作成を許可するかどうか。デフォルトでは
false
に設定されています。isCreateSession
public boolean isCreateSession()HTTP セッションの作成を許可するかどうか。beforeHandshake
public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, MapSE<StringSE, ObjectSE> attributes) throws ExceptionSEインターフェースからコピーされた説明:HandshakeInterceptor
ハンドシェイクが処理される前に呼び出されます。- 次で指定:
- インターフェース
HandshakeInterceptor
のbeforeHandshake
- パラメーター:
request
- 現在のリクエストresponse
- 現在のレスポンスwsHandler
- ターゲット WebSocket ハンドラーattributes
- WebSocket セッションに関連付ける HTTP ハンドシェイクの属性。提供された属性がコピーされ、元のマップは使用されません。- 戻り値:
- ハンドシェイク(
true
)を続行するか、中止するか (false
) - 例外:
ExceptionSE
afterHandshake
public void afterHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, @Nullable ExceptionSE ex) インターフェースからコピーされた説明:HandshakeInterceptor
ハンドシェイクが完了した後に呼び出されます。レスポンスステータスとヘッダーは、ハンドシェイクの結果、つまり成功したかどうかを示します。- 次で指定:
- インターフェース
HandshakeInterceptor
のafterHandshake
- パラメーター:
request
- 現在のリクエストresponse
- 現在のレスポンスwsHandler
- ターゲット WebSocket ハンドラーex
- ハンドシェイク中に発生した例外、ない場合はnull