Class HandshakeInfo
- java.lang.Object
- org.springframework.web.reactive.socket.HandshakeInfo
public class HandshakeInfo extends Object
Simple container of information related to the handshake request that started theWebSocketSession
session.- Since:
- 5.0
- Author:
- Rossen Stoyanchev
- See Also:
WebSocketSession.getHandshakeInfo()
Constructor Summary
Constructors Constructor Description HandshakeInfo(URI uri, HttpHeaders headers, reactor.core.publisher.Mono<Principal> principal, String protocol)
Constructor with basic information about the handshake.HandshakeInfo(URI uri, HttpHeaders headers, reactor.core.publisher.Mono<Principal> principal, String protocol, InetSocketAddress remoteAddress, Map<String,Object> attributes, String logPrefix)
Constructor targetting server-side use with extra information about the handshake, the remote address, and a pre-existing log prefix for correlation.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Map<String,Object>
getAttributes()
Attributes extracted from the handshake request to be added to the WebSocket session.HttpHeaders
getHeaders()
Return the handshake HTTP headers.String
getLogPrefix()
A log prefix used in the handshake to correlate log messages, if any.reactor.core.publisher.Mono<Principal>
getPrincipal()
Return the principal associated with the handshake HTTP request.InetSocketAddress
getRemoteAddress()
For a server-side session this is the remote address where the handshake request came from.String
getSubProtocol()
The sub-protocol negotiated at handshake time, ornull
if none.URI
getUri()
Return the URL for the WebSocket endpoint.String
toString()
Constructor Detail
HandshakeInfo
public HandshakeInfo(URI uri, HttpHeaders headers, reactor.core.publisher.Mono<Principal> principal, @Nullable String protocol)
Constructor with basic information about the handshake.- Parameters:
uri
- the endpoint URLheaders
- request headers for server or response headers or clientprincipal
- the principal for the sessionprotocol
- the negotiated sub-protocol (may benull
)
HandshakeInfo
public HandshakeInfo(URI uri, HttpHeaders headers, reactor.core.publisher.Mono<Principal> principal, @Nullable String protocol, @Nullable InetSocketAddress remoteAddress, Map<String,Object> attributes, @Nullable String logPrefix)
Constructor targetting server-side use with extra information about the handshake, the remote address, and a pre-existing log prefix for correlation.- Parameters:
uri
- the endpoint URLheaders
- request headers for server or response headers or clientprincipal
- the principal for the sessionprotocol
- the negotiated sub-protocol (may benull
)remoteAddress
- the remote address where the handshake came fromattributes
- initial attributes to use for the WebSocket sessionlogPrefix
- log prefix used during the handshake for correlating log messages, if any.- Since:
- 5.1
Method Detail
getHeaders
public HttpHeaders getHeaders()
Return the handshake HTTP headers. Those are the request headers for a server session and the response headers for a client session.
getPrincipal
public reactor.core.publisher.Mono<Principal> getPrincipal()
Return the principal associated with the handshake HTTP request.
getSubProtocol
@Nullable public String getSubProtocol()
The sub-protocol negotiated at handshake time, ornull
if none.
getRemoteAddress
@Nullable public InetSocketAddress getRemoteAddress()
For a server-side session this is the remote address where the handshake request came from.- Since:
- 5.1
getAttributes
public Map<String,Object> getAttributes()
Attributes extracted from the handshake request to be added to the WebSocket session.- Since:
- 5.1
getLogPrefix
@Nullable public String getLogPrefix()
A log prefix used in the handshake to correlate log messages, if any.- Returns:
- a log prefix, or
null
if not specified - Since:
- 5.1