Protocol::WebSocket::Response − WebSocket Response
# Constructor
$res = Protocol::WebSocket::Response−>new(
host => 'example.com',
resource_name => '/demo',
origin => 'file://',
number1 => 777_007_543,
number2 => 114_997_259,
challenge => "\x47\x30\x22\x2D\x5A\x3F\x47\x58"
);
$res−>to_string; # HTTP/1.1 101 WebSocket Protocol
Handshake
# Upgrade: WebSocket
# Connection: Upgrade
# Sec−WebSocket−Origin: file://
# Sec−WebSocket−Location: ws://example.com/demo
#
# 0st3Rl&q−2ZUˆweu
# Parser
$res = Protocol::WebSocket::Response−>new;
$res−>parse("HTTP/1.1 101 WebSocket Protocol
Handshake\x0d\x0a");
$res−>parse("Upgrade:
WebSocket\x0d\x0a");
$res−>parse("Connection:
Upgrade\x0d\x0a");
$res−>parse("Sec−WebSocket−Origin:
file://\x0d\x0a");
$res−>parse("Sec−WebSocket−Location:
ws://example.com/demo\x0d\x0a");
$res−>parse("\x0d\x0a");
$res−>parse("0st3Rl&q−2ZUˆweu");
Construct or parse a WebSocket response.
Create a new Protocol::WebSocket::Response instance.
$res−>parse($buffer);
Parse a WebSocket response. Incoming buffer is modified.
Construct a WebSocket response.
$self−>key1;
Set or get "Sec−WebSocket−Key1" field.
$self−>key2;
Set or get "Sec−WebSocket−Key2" field.
$self−>number1;
$self−>number1(123456);
Set or extract from "Sec−WebSocket−Key1" generated "number" value.
$self−>number2;
$self−>number2(123456);
Set or extract from "Sec−WebSocket−Key2" generated "number" value.
$self−>status;
Get response status (101).
$self−>body;
Get response body.
my $arrayref = $self−>headers;
Get response headers.