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> handshakeAttributes)
Create a new
JettyWebSocketSession instance. |
JettyWebSocketSession(Map<String,Object> handshakeAttributes,
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. |
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.
|
URI |
getUri()
Return the URI used to open the WebSocket connection.
|
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) |
checkNativeSessionInitialized, close, close, getHandshakeAttributes, getNativeSession, getNativeSession, initializeNativeSession, sendMessage, toString
public JettyWebSocketSession(Map<String,Object> handshakeAttributes)
JettyWebSocketSession
instance.handshakeAttributes
- attributes from the HTTP handshake to make available
through the WebSocket sessionpublic JettyWebSocketSession(Map<String,Object> handshakeAttributes, Principal user)
JettyWebSocketSession
instance associated with the given user.handshakeAttributes
- attributes from the HTTP handshake to make available
through the WebSocket sessionuser
- the user associated with the session; can be left
null
in which case, we'll fallback on the user available via
Session.getUpgradeRequest()
public String getId()
WebSocketSession
public URI getUri()
WebSocketSession
public HttpHeaders getHandshakeHeaders()
WebSocketSession
public Principal getPrincipal()
WebSocketSession
Principal
instance containing the name of the
authenticated user. If the user has not been authenticated, the method returns
null
.public InetSocketAddress getLocalAddress()
WebSocketSession
public InetSocketAddress getRemoteAddress()
WebSocketSession
public String getAcceptedProtocol()
WebSocketSession
null
if none was specified or
negotiated successfully.public List<WebSocketExtension> getExtensions()
WebSocketSession
null
if none was specified or
negotiated successfully.public boolean isOpen()
WebSocketSession
protected void sendTextMessage(TextMessage message) throws IOException
sendTextMessage
in class AbstractWebSocketSession<org.eclipse.jetty.websocket.api.Session>
IOException
protected void sendBinaryMessage(BinaryMessage message) throws IOException
sendBinaryMessage
in class AbstractWebSocketSession<org.eclipse.jetty.websocket.api.Session>
IOException
protected void sendPingMessage(PingMessage message) throws IOException
sendPingMessage
in class AbstractWebSocketSession<org.eclipse.jetty.websocket.api.Session>
IOException
protected void sendPongMessage(PongMessage message) throws IOException
sendPongMessage
in class AbstractWebSocketSession<org.eclipse.jetty.websocket.api.Session>
IOException
protected void closeInternal(CloseStatus status) throws IOException
closeInternal
in class AbstractWebSocketSession<org.eclipse.jetty.websocket.api.Session>
IOException