NAME
Protocol::WebSocket::Request - WebSocket Request
SYNOPSIS
# 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(
"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"
);
DESCRIPTION
Construct or parse a WebSocket request.
ATTRIBUTES
host
key1
key2
number1
number2
origin
resource_name
METHODS
new
Create a new Protocol::WebSocket::Request instance.
new_from_psgi
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.
parse
$req
->parse(
$buffer
);
$req
->parse(
$handle
);
Parse a WebSocket request. Incoming buffer is modified.
to_string
Construct a WebSocket request.
connection
$self
->connection;
A shortcut for $self-
field('Connection')>.
cookies
upgrade
$self
->upgrade;
A shortcut for $self-
field('Upgrade')>.