public abstract class BaseWebSocketFilter
extends org.glassfish.grizzly.filterchain.BaseFilter
Filter implementation, which supposed to be placed into a FilterChain right after HTTP
Filter: HttpServerFilter, HttpClientFilter; depending whether it's server or client side. The
BaseWebSocketFilter handles websocket connection, handshake phases and, when receives a websocket frame -
redirects it to appropriate connection (WebSocketApplication, WebSocket) for processing.| Constructor and Description |
|---|
BaseWebSocketFilter()
Constructs a new
BaseWebSocketFilter with a default idle connection
timeout of 15 minutes; |
BaseWebSocketFilter(long wsTimeoutInSeconds)
Constructs a new
BaseWebSocketFilter with a default idle connection
timeout of 15 minutes; |
| Modifier and Type | Method and Description |
|---|---|
org.glassfish.grizzly.filterchain.NextAction |
handleClose(org.glassfish.grizzly.filterchain.FilterChainContext ctx)
Method handles Grizzly
Connection close phase. |
protected abstract org.glassfish.grizzly.filterchain.NextAction |
handleHandshake(org.glassfish.grizzly.filterchain.FilterChainContext ctx,
org.glassfish.grizzly.http.HttpContent content)
Handle websocket handshake
|
org.glassfish.grizzly.filterchain.NextAction |
handleRead(org.glassfish.grizzly.filterchain.FilterChainContext ctx)
Handle Grizzly
Connection read phase. |
org.glassfish.grizzly.filterchain.NextAction |
handleWrite(org.glassfish.grizzly.filterchain.FilterChainContext ctx)
Handle Grizzly
Connection write phase. |
protected void |
onHandshakeFailure(org.glassfish.grizzly.Connection connection,
HandshakeException e)
The method is called when WebSocket handshake fails for the
Connection. |
protected void |
setIdleTimeout(org.glassfish.grizzly.filterchain.FilterChainContext ctx) |
protected static boolean |
webSocketInProgress(org.glassfish.grizzly.Connection connection) |
public BaseWebSocketFilter()
BaseWebSocketFilter with a default idle connection
timeout of 15 minutes;public BaseWebSocketFilter(long wsTimeoutInSeconds)
BaseWebSocketFilter with a default idle connection
timeout of 15 minutes;public org.glassfish.grizzly.filterchain.NextAction handleClose(org.glassfish.grizzly.filterchain.FilterChainContext ctx)
throws IOException
Connection close phase. Check if the Connection is a WebSocket, if
yes - tries to close the websocket gracefully (sending close frame) and calls WebSocket.onClose(DataFrame). If the Grizzly Connection is not websocket - passes processing to the next
filter in the chain.handleClose in interface org.glassfish.grizzly.filterchain.FilterhandleClose in class org.glassfish.grizzly.filterchain.BaseFilterctx - FilterChainContextNextAction instruction for FilterChain, how it should continue the executionIOExceptionpublic org.glassfish.grizzly.filterchain.NextAction handleRead(org.glassfish.grizzly.filterchain.FilterChainContext ctx)
throws IOException
Connection read phase. If the Connection has associated WebSocket object
(websocket connection), we check if websocket handshake has been completed for this connection, if not -
initiate/validate handshake. If handshake has been completed - parse websocket DataFrames one by one and
pass processing to appropriate WebSocket: WebSocketApplication for server- and client- side
connections.handleRead in interface org.glassfish.grizzly.filterchain.FilterhandleRead in class org.glassfish.grizzly.filterchain.BaseFilterctx - FilterChainContextNextAction instruction for FilterChain, how it should continue the executionIOExceptionpublic org.glassfish.grizzly.filterchain.NextAction handleWrite(org.glassfish.grizzly.filterchain.FilterChainContext ctx)
throws IOException
Connection write phase. If the Connection has associated WebSocket object
(websocket connection), we assume that message is websocket DataFrame and serialize it into a Buffer.handleWrite in interface org.glassfish.grizzly.filterchain.FilterhandleWrite in class org.glassfish.grizzly.filterchain.BaseFilterctx - FilterChainContextNextAction instruction for FilterChain, how it should continue the executionIOExceptionprotected abstract org.glassfish.grizzly.filterchain.NextAction handleHandshake(org.glassfish.grizzly.filterchain.FilterChainContext ctx,
org.glassfish.grizzly.http.HttpContent content)
throws IOException
ctx - FilterChainContextcontent - HTTP messageNextAction instruction for FilterChain, how it should continue the executionIOExceptionprotected void onHandshakeFailure(org.glassfish.grizzly.Connection connection,
HandshakeException e)
Connection.connection - e - protected static boolean webSocketInProgress(org.glassfish.grizzly.Connection connection)
protected void setIdleTimeout(org.glassfish.grizzly.filterchain.FilterChainContext ctx)
Copyright © 2020 Oracle Corporation. All Rights Reserved.