Protocol::WebSocket::Request − WebSocket Request
# Constructor
my $req = Protocol::WebSocket::Request−>new(
host => 'example.com',
resource_name => '/demo'
);
$req−>to_string; # GET /demo HTTP/1.1
# Upgrade: WebSocket
# Connection: Upgrade
# Host: example.com
# Origin: http://example.com
# Sec−WebSocket−Key1: 32 0 3lD& 24+< i u4
8! −6/4
# Sec−WebSocket−Key2: 2q 4 2 54 09064
#
# x#####
# Parser
my $req = Protocol::WebSocket::Request−>new;
$req−>parse("GET /demo
HTTP/1.1\x0d\x0a");
$req−>parse("Upgrade:
WebSocket\x0d\x0a");
$req−>parse("Connection:
Upgrade\x0d\x0a");
$req−>parse("Host: example.com\x0d\x0a");
$req−>parse("Origin:
http://example.com\x0d\x0a");
$req−>parse(
"Sec−WebSocket−Key1: 18x 6]8vM;54 *(5: {
U1]8 z [ 8\x0d\x0a");
$req−>parse(
"Sec−WebSocket−Key2: 1_ tx7X d < nw
334J702) 7]o}` 0\x0d\x0a");
$req−>parse("\x0d\x0aTm[K T2u");
Construct or parse a WebSocket request.
Create a new Protocol::WebSocket::Request instance.
my $env = {
HTTP_HOST => 'example.com',
HTTP_CONNECTION => 'Upgrade',
...
};
my $req =
Protocol::WebSocket::Request−>new_from_psgi($env);
Create a new Protocol::WebSocket::Request instance from PSGI environment.
$req−>parse($buffer);
$req−>parse($handle);
Parse a WebSocket request. Incoming buffer is modified.
Construct a WebSocket request.
$self−>connection;
A shortcut for "$self−"field(’Connection’)>.
$self−>upgrade;
A shortcut for "$self−"field(’Upgrade’)>.