| Did you know ... | Search Documentation: |
| Pack logtalk -- logtalk-3.101.0/docs/apis/_sources/http_websocket_messages_1.rst.txt |
.. index:: single: http_websocket_messages(TextRepresentation)
.. _http_websocket_messages/1:
.. rst-class:: right
object
http_websocket_messages(TextRepresentation)TextRepresentation - Text representation to be used for text messages and close reasons. Possible values are atom (default), chars, and codes.
Transport-neutral WebSocket message predicates built on top of the http_websocket frame layer.
| Availability:
| logtalk_load(http_websocket_messages(loader))
| Author: Paulo Moura | Version: 1:0:0 | Date: 2026-06-26
| Compilation flags:
| static, context_switching_calls
| Uses: | :ref:`http_websocket_frames <http_websocket_frames/0>` | :ref:`list <list/0>` | :ref:`utf_8 <utf_8/0>`
| Remarks:
http_websocket_message_sequence. Use http_websocket_session for RFC 6455 live-stream processing that must surface interleaved control frames while reassembling data messages.| Inherited public predicates: | (none)
.. contents:: :local: :backlinks: top
.. index:: message/3 .. _http_websocket_messages/1::message/3:
message/3 ^^^^^^^^^^^^^
Constructs a validated normalized WebSocket message term from the message type atom and payload term.
| Compilation flags:
| static
| Template:
| message(Type,Payload,Message)
| Mode and number of proofs:
| message(+atom,+term,-compound) - one_or_error
| Exceptions:
| Type is not a supported WebSocket message type:
| domain_error(http_websocket_message_type,Type)
| Payload is not valid for the requested WebSocket message type:
| domain_error(http_websocket_message,Message)
| Payload is not a valid WebSocket close payload:
| domain_error(http_websocket_close_payload,Payload)
| Payload contains an invalid WebSocket close code:
| domain_error(http_websocket_close_code,Code)
| Payload is not valid text for the selected text representation:
| domain_error(http_websocket_message_text,Text)
| Remarks:
text: Payload is text in the selected text representation.binary: Payload is a list of bytes.ping or pong: Payload is a list of bytes.close: Payload is one of empty, status(Code), or status(Code, Reason)... index:: is_message/1 .. _http_websocket_messages/1::is_message/1:
is_message/1 ^^^^^^^^^^^^^^^^
True when the argument is a valid normalized WebSocket message term.
| Compilation flags:
| static
| Template:
| is_message(Message)
| Mode and number of proofs:
| is_message(@term) - zero_or_one
.. index:: read_message/2 .. _http_websocket_messages/1::read_message/2:
read_message/2 ^^^^^^^^^^^^^^^^^^
Reads one WebSocket message from a binary stream. Continuation frames are reassembled for text and binary messages when they arrive contiguously. Returns end_of_file when the stream is already exhausted.
| Compilation flags:
| static
| Template:
| read_message(Stream,Message)
| Mode and number of proofs:
| read_message(+stream_or_alias,-term) - one_or_error
| Exceptions:
| Stream is a variable:
| instantiation_error
| The inbound frames do not form a valid normalized WebSocket message sequence:
| domain_error(http_websocket_message_sequence,Frame)
| The inbound frame is invalid:
| domain_error(http_websocket_frame,Frame)
| The inbound message payload is invalid:
| domain_error(http_websocket_message,Message)
| The inbound message text is invalid for the selected text representation:
| domain_error(http_websocket_message_text,Text)
| Remarks:
http_websocket_message_sequence. Use http_websocket_session when interleaved control frames must be handled while a fragmented message is in progress... index:: write_message/2 .. _http_websocket_messages/1::write_message/2:
write_message/2 ^^^^^^^^^^^^^^^^^^^
Writes one validated WebSocket message as a single final frame to a binary stream and flushes the stream.
| Compilation flags:
| static
| Template:
| write_message(Stream,Message)
| Mode and number of proofs:
| write_message(+stream_or_alias,+compound) - one_or_error
| Exceptions:
| Stream is a variable:
| instantiation_error
| Message is not a valid normalized WebSocket message term:
| domain_error(http_websocket_message,Message)
| Message has an unsupported message type:
| domain_error(http_websocket_message_type,Type)
| Message has an invalid close payload:
| domain_error(http_websocket_close_payload,Payload)
| Message has invalid text for the selected text representation:
| domain_error(http_websocket_message_text,Text)
.. index:: type/2 .. _http_websocket_messages/1::type/2:
type/2 ^^^^^^^^^^
Returns the type atom of a validated WebSocket message term.
| Compilation flags:
| static
| Template:
| type(Message,Type)
| Mode and number of proofs:
| type(+compound,-atom) - one_or_error
| Exceptions:
| Message is not a valid normalized WebSocket message term:
| domain_error(http_websocket_message,Message)
| Message has an unsupported message type:
| domain_error(http_websocket_message_type,Type)
.. index:: payload/2 .. _http_websocket_messages/1::payload/2:
payload/2 ^^^^^^^^^^^^^
Returns the payload term of a validated WebSocket message term.
| Compilation flags:
| static
| Template:
| payload(Message,Payload)
| Mode and number of proofs:
| payload(+compound,-term) - one_or_error
| Exceptions:
| Message is not a valid normalized WebSocket message term:
| domain_error(http_websocket_message,Message)
| Message has an unsupported message type:
| domain_error(http_websocket_message_type,Type)
.. index:: encode_message/4 .. _http_websocket_messages/1::encode_message/4:
encode_message/4 ^^^^^^^^^^^^^^^^^^^^
Protected helper that normalizes a WebSocket message term and returns the normalized term together with the corresponding frame opcode and payload bytes.
| Compilation flags:
| static
| Template:
| encode_message(Message,NormalizedMessage,Opcode,PayloadBytes)
| Mode and number of proofs:
| encode_message(+compound,-compound,-atom,-list(byte)) - one_or_error
| Exceptions:
| Message is not a valid normalized WebSocket message term:
| domain_error(http_websocket_message,Message)
| Message has an unsupported message type:
| domain_error(http_websocket_message_type,Type)
| Message has an invalid close payload:
| domain_error(http_websocket_close_payload,Payload)
| Message has invalid text for the selected text representation:
| domain_error(http_websocket_message_text,Text)
.. index:: decode_message/3 .. _http_websocket_messages/1::decode_message/3:
decode_message/3 ^^^^^^^^^^^^^^^^^^^^
Protected helper that decodes payload bytes for the given message type atom into a normalized WebSocket message term.
| Compilation flags:
| static
| Template:
| decode_message(Type,PayloadBytes,Message)
| Mode and number of proofs:
| decode_message(+atom,+list(byte),-compound) - one_or_error
| Exceptions:
| Type is not a supported WebSocket message type:
| domain_error(http_websocket_message_type,Type)
| PayloadBytes is not a valid close payload:
| domain_error(http_websocket_close_payload,PayloadBytes)
| PayloadBytes contains an invalid close code:
| domain_error(http_websocket_close_code,Code)
| PayloadBytes does not decode to valid text for the selected text representation:
| domain_error(http_websocket_message_text,PayloadBytes)
(no local declarations; see entity ancestors if any)
(none)