public class JettyWebSocketSession extends AbstractWebSocketSession<org.eclipse.jetty.websocket.api.Session>
WebSocketSession for use with the Jetty 9 WebSocket API.logger| Constructor and Description |
|---|
JettyWebSocketSession(Map<String,Object> attributes)
Create a new
JettyWebSocketSession instance. |
JettyWebSocketSession(Map<String,Object> attributes,
Principal user)
Create a new
JettyWebSocketSession instance associated with the given user. |
| Modifier and Type | Method and Description |
|---|---|
protected void |
closeInternal(CloseStatus status) |
String |
getAcceptedProtocol()
Return the negotiated sub-protocol or
null if none was specified or
negotiated successfully. |
int |
getBinaryMessageSizeLimit()
Get the configured maximum size for an incoming binary message.
|
List<WebSocketExtension> |
getExtensions()
Return the negotiated extensions or
null if none was specified or
negotiated successfully. |
HttpHeaders |
getHandshakeHeaders()
Return the headers used in the handshake request.
|
String |
getId()
Return a unique session identifier.
|
InetSocketAddress |
getLocalAddress()
Return the address on which the request was received.
|
Principal |
getPrincipal()
Return a
Principal instance containing the name of the
authenticated user. |
InetSocketAddress |
getRemoteAddress()
Return the address of the remote client.
|
int |
getTextMessageSizeLimit()
Get the configured maximum size for an incoming text message.
|
URI |
getUri()
Return the URI used to open the WebSocket connection.
|
void |
initializeNativeSession(org.eclipse.jetty.websocket.api.Session session) |
boolean |
isOpen()
Return whether the connection is still open.
|
protected void |
sendBinaryMessage(BinaryMessage message) |
protected void |
sendPingMessage(PingMessage message) |
protected void |
sendPongMessage(PongMessage message) |
protected void |
sendTextMessage(TextMessage message) |
void |
setBinaryMessageSizeLimit(int messageSizeLimit)
Configure the maximum size for an incoming binary message.
|
void |
setTextMessageSizeLimit(int messageSizeLimit)
Configure the maximum size for an incoming text message.
|
checkNativeSessionInitialized, close, close, getAttributes, getNativeSession, getNativeSession, sendMessage, toStringpublic JettyWebSocketSession(Map<String,Object> attributes)
JettyWebSocketSession instance.attributes - attributes from the HTTP handshake to associate with the WebSocket sessionpublic JettyWebSocketSession(Map<String,Object> attributes, Principal user)
JettyWebSocketSession instance associated with the given user.attributes - attributes from the HTTP handshake to associate with the WebSocket
session; the provided attributes are copied, the original map is not used.user - the user associated with the session; if null we'll fallback on the
user available via Session.getUpgradeRequest()public String getId()
WebSocketSessionpublic URI getUri()
WebSocketSessionpublic HttpHeaders getHandshakeHeaders()
WebSocketSessionpublic String getAcceptedProtocol()
WebSocketSessionnull if none was specified or
negotiated successfully.public List<WebSocketExtension> getExtensions()
WebSocketSessionnull if none was specified or
negotiated successfully.public Principal getPrincipal()
WebSocketSessionPrincipal instance containing the name of the
authenticated user.
If the user has not been authenticated, the method returns null.
public InetSocketAddress getLocalAddress()
WebSocketSessionpublic InetSocketAddress getRemoteAddress()
WebSocketSessionpublic void setTextMessageSizeLimit(int messageSizeLimit)
WebSocketSessionpublic int getTextMessageSizeLimit()
WebSocketSessionpublic void setBinaryMessageSizeLimit(int messageSizeLimit)
WebSocketSessionpublic int getBinaryMessageSizeLimit()
WebSocketSessionpublic boolean isOpen()
WebSocketSessionpublic void initializeNativeSession(org.eclipse.jetty.websocket.api.Session session)
initializeNativeSession in class AbstractWebSocketSession<org.eclipse.jetty.websocket.api.Session>protected void sendTextMessage(TextMessage message) throws IOException
sendTextMessage in class AbstractWebSocketSession<org.eclipse.jetty.websocket.api.Session>IOExceptionprotected void sendBinaryMessage(BinaryMessage message) throws IOException
sendBinaryMessage in class AbstractWebSocketSession<org.eclipse.jetty.websocket.api.Session>IOExceptionprotected void sendPingMessage(PingMessage message) throws IOException
sendPingMessage in class AbstractWebSocketSession<org.eclipse.jetty.websocket.api.Session>IOExceptionprotected void sendPongMessage(PongMessage message) throws IOException
sendPongMessage in class AbstractWebSocketSession<org.eclipse.jetty.websocket.api.Session>IOExceptionprotected void closeInternal(CloseStatus status) throws IOException
closeInternal in class AbstractWebSocketSession<org.eclipse.jetty.websocket.api.Session>IOException