Provided by: libprotocol-websocket-perl_0.26-3_all 

NAME
Protocol::WebSocket::Frame - WebSocket Frame
SYNOPSIS
# Create frame
my $frame = Protocol::WebSocket::Frame->new('123');
$frame->to_bytes;
# Parse frames
my $frame = Protocol::WebSocket::Frame->new;
$frame->append(...);
$f->next; # get next message
$f->next; # get another next message
DESCRIPTION
Construct or parse a WebSocket frame.
RANDOM MASK GENERATION
By default built-in "rand" is used, this is not secure, so when Math::Random::Secure is installed it is
used instead.
METHODS
"new"
Protocol::WebSocket::Frame->new('data'); # same as (buffer => 'data')
Protocol::WebSocket::Frame->new(buffer => 'data', type => 'close');
Create a new Protocol::WebSocket::Frame instance. Automatically detect if the passed data is a Perl
string (UTF-8 flag) or bytes.
When called with more than one arguments, it takes the following named arguments (all of them are
optional).
"buffer" => STR (default: "")
The payload of the frame.
"type" => TYPE_STR (default: "text")
The type of the frame. Accepted values are:
continuation
text
binary
ping
pong
close
"opcode" => INT (default: 1)
The opcode of the frame. If "type" field is set to a valid string, this field is ignored.
"fin" => BOOL (default: 1)
"fin" flag of the frame. "fin" flag must be 1 in the ending frame of fragments.
"masked" => BOOL (default: 0)
If set to true, the frame will be masked.
"version" => VERSION_STR (default: 'draft-ietf-hybi-17')
WebSocket protocol version string. See Protocol::WebSocket for valid version strings.
"is_continuation"
Check if frame is of continuation type.
"is_text"
Check if frame is of text type.
"is_binary"
Check if frame is of binary type.
"is_ping"
Check if frame is a ping request.
"is_pong"
Check if frame is a pong response.
"is_close"
Check if frame is of close type.
"opcode"
$opcode = $frame->opcode;
$frame->opcode(8);
Get/set opcode of the frame.
"masked"
$masked = $frame->masked;
$frame->masked(1);
Get/set masking of the frame.
"append"
$frame->append($chunk);
Append a frame chunk.
Beware that this method is destructive. It makes $chunk empty unless $chunk is read-only.
"next"
$frame->append(...);
$frame->next; # next message
Return the next message as a Perl string (UTF-8 decoded).
"next_bytes"
Return the next message as is.
"to_bytes"
Construct a WebSocket message.
"max_payload_size"
The maximum size of the payload. You may set this to 0 or "undef" to disable checking the payload size.
perl v5.34.0 2022-07-04 Protocol::WebSocket::Frame(3pm)