Class WebSocketMessage
java.lang.Object
org.springframework.web.reactive.socket.WebSocketMessage
Representation of a WebSocket message.
See static factory methods in WebSocketSession
for creating messages with
the DataBufferFactory
for the session.
- Since:
- 5.0
- Author:
- Rossen Stoyanchev
-
Nested Class Summary
-
Constructor Summary
ConstructorDescriptionWebSocketMessage
(WebSocketMessage.Type type, DataBuffer payload) Constructor for a WebSocketMessage.WebSocketMessage
(WebSocketMessage.Type type, DataBuffer payload, Object nativeMessage) Constructor for an inbound message with access to the underlying message. -
Method Summary
Modifier and TypeMethodDescriptionboolean
<T> T
Return the message from the API of the underlying WebSocket library.Return the message payload.A variant ofgetPayloadAsText(Charset)
that usesUTF-8
for decoding the raw content to text.getPayloadAsText
(Charset charset) A shortcut for decoding the raw content of the message to text with the given character encoding.getType()
Return the message type (text, binary, etc).int
hashCode()
void
release()
Release the payloadDataBuffer
which is useful on runtimes (e.g.retain()
Retain the data buffer for the message payload, which is useful on runtimes (e.g.toString()
-
Constructor Details
-
WebSocketMessage
Constructor for a WebSocketMessage.See static factory methods in
WebSocketSession
or alternatively useWebSocketSession.bufferFactory()
to create the payload and then invoke this constructor. -
WebSocketMessage
public WebSocketMessage(WebSocketMessage.Type type, DataBuffer payload, @Nullable Object nativeMessage) Constructor for an inbound message with access to the underlying message.- Parameters:
type
- the type of WebSocket messagepayload
- the message contentnativeMessage
- the message from the API of the underlying WebSocket library, if applicable.- Since:
- 5.3
-
-
Method Details
-
getType
Return the message type (text, binary, etc). -
getPayload
Return the message payload. -
getNativeMessage
Return the message from the API of the underlying WebSocket library. This is applicable for inbound messages only and when the underlying message has additional fields other than the content. Currently this is the case for Reactor Netty only.- Type Parameters:
T
- the type to cast the underlying message to- Returns:
- the underlying message, or
null
- Since:
- 5.3
-
getPayloadAsText
A variant ofgetPayloadAsText(Charset)
that usesUTF-8
for decoding the raw content to text. -
getPayloadAsText
A shortcut for decoding the raw content of the message to text with the given character encoding. This is useful for text WebSocket messages, or otherwise when the payload is expected to contain text.- Parameters:
charset
- the character encoding- Since:
- 5.0.5
-
retain
Retain the data buffer for the message payload, which is useful on runtimes (e.g. Netty) with pooled buffers. A shortcut for:DataBuffer payload = message.getPayload(); DataBufferUtils.retain(payload);
- See Also:
-
release
public void release()Release the payloadDataBuffer
which is useful on runtimes (e.g. Netty) with pooled buffers such as Netty. A shortcut for:DataBuffer payload = message.getPayload(); DataBufferUtils.release(payload);
- See Also:
-
equals
-
hashCode
public int hashCode() -
toString
-