public class HttpSessionHandshakeInterceptor extends ObjectSE implements HandshakeInterceptor
WebSocketSession.getAttributes()
を介して使用可能にするインターセプター。 キー HTTP_SESSION_ID_ATTR_NAME
にあるサブセットまたはすべての HTTP セッション属性または HTTP セッション ID、あるいはその両方をコピーします。
修飾子と型 | フィールドと説明 |
---|---|
static StringSE | HTTP_SESSION_ID_ATTR_NAME copyHttpSessionId が "true" の場合に HTTP セッション ID が公開される属性の名前。 |
コンストラクターと説明 |
---|
HttpSessionHandshakeInterceptor() すべての 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) ハンドシェイクが処理される前に呼び出されます。 |
CollectionSE<StringSE> | getAttributeNames() コピーする構成済みの属性名を返します(読み取り専用)。 |
boolean | isCopyAllAttributes() すべての HTTP セッション属性をコピーするかどうか。 |
boolean | isCopyHttpSessionId() HTTP セッション ID をハンドシェイク属性にコピーするかどうか。 |
boolean | isCreateSession() HTTP セッションの作成を許可するかどうか。 |
void | setCopyAllAttributes(boolean copyAllAttributes) HTTP セッションからすべての属性をコピーするかどうか。 |
void | setCopyHttpSessionId(boolean copyHttpSessionId) HTTP セッション ID をキー HTTP_SESSION_ID_ATTR_NAME のハンドシェイク属性にコピーする必要があるかどうか。 |
void | setCreateSession(boolean createSession) アクセス中に HTTP セッションの作成を許可するかどうか。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public static final StringSE HTTP_SESSION_ID_ATTR_NAME
copyHttpSessionId
が "true" の場合に HTTP セッション ID が公開される属性の名前。public HttpSessionHandshakeInterceptor()
public HttpSessionHandshakeInterceptor(CollectionSE<StringSE> attributeNames)
attributeNames
- コピーするセッション属性 setCopyAllAttributes(boolean)
, setCopyHttpSessionId(boolean)
public CollectionSE<StringSE> getAttributeNames()
public void setCopyAllAttributes(boolean copyAllAttributes)
デフォルトでは、これは、使用されたコンストラクターに応じて "true" または "false" に設定されます(デフォルトまたはそれぞれ属性名を使用)。
copyAllAttributes
- すべての属性をコピーするかどうか public boolean isCopyAllAttributes()
public void setCopyHttpSessionId(boolean copyHttpSessionId)
HTTP_SESSION_ID_ATTR_NAME
のハンドシェイク属性にコピーする必要があるかどうか。デフォルトでは "true" です。
copyHttpSessionId
- HTTP セッション ID をコピーするかどうか。public boolean isCopyHttpSessionId()
public void setCreateSession(boolean createSession)
デフォルトでは false
に設定されています。
public boolean isCreateSession()
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
public void afterHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, @Nullable ExceptionSE ex)
HandshakeInterceptor
HandshakeInterceptor
の afterHandshake
request
- 現在のリクエスト response
- 現在のレスポンス wsHandler
- ターゲット WebSocket ハンドラー ex
- ハンドシェイク中に発生した例外、ない場合は null