Mojo::Transaction::WebUsereContributed Perl DocMojo::Transaction::WebSocket(3)NAMEMojo::Transaction::WebSocket - WebSocket Transaction Container
SYNOPSIS
use Mojo::Transaction::WebSocket;
DESCRIPTIONMojo::Transaction::WebSocket is a container for WebSocket transactions
as described in
http://www.ietf.org/id/draft-ietf-hybi-thewebsocketprotocol-13.txt
<http://www.ietf.org/id/draft-ietf-hybi-thewebsocketprotocol-13.txt>.
Note that this module is EXPERIMENTAL and might change without warning!
ATTRIBUTESMojo::Transaction::WebSocket inherits all attributes from
Mojo::Transaction and implements the following new ones.
"handshake"
my $handshake = $ws->handshake;
$ws = $ws->handshake(Mojo::Transaction::HTTP->new);
The original handshake transaction, defaults to a
Mojo::Transaction::HTTP object.
"masked"
my $masked = $ws->masked;
$ws = $ws->masked(1);
Mask outgoing frames with XOR cipher and a random 32bit key.
"max_websocket_size"
my $size = $ws->max_websocket_size;
$ws = $ws->max_websocket_size(1024);
Maximum WebSocket message size in bytes, defaults to 262144.
"on_message"
my $cb = $ws->on_message;
$ws = $ws->on_message(sub {...});
Callback to be invoked for each decoded message.
$ws->on_message(sub {
my ($self, $message) = @_;
});
METHODSMojo::Transaction::WebSocket inherits all methods from
Mojo::Transaction and implements the following new ones.
"client_challenge"
my $success = $ws->client_challenge;
Check WebSocket handshake challenge, only used by client.
"client_close"
$ws = $ws->client_close;
Connection got closed, only used by clients.
"client_handshake"
$ws = $ws->client_handshake;
WebSocket handshake, only used by clients.
"client_read"
$ws = $ws->client_read($data);
Read raw WebSocket data, only used by clients.
"client_write"
my $chunk = $ws->client_write;
Raw WebSocket data to write, only used by clients.
"connection"
my $connection = $ws->connection;
The connection this websocket is using.
"finish"
$ws = $ws->finish;
Finish the WebSocket connection gracefully.
"is_websocket"
my $is_websocket = $ws->is_websocket;
True.
"local_address"
my $local_address = $ws->local_address;
The local address of this WebSocket.
"local_port"
my $local_port = $ws->local_port;
The local port of this WebSocket.
"remote_address"
my $remote_address = $ws->remote_address;
The remote address of this WebSocket.
"remote_port"
my $remote_port = $ws->remote_port;
The remote port of this WebSocket.
"req"
my $req = $ws->req;
The original handshake request.
"res"
my $req = $ws->res;
The original handshake response.
"resume"
$ws = $ws->resume;
Resume transaction.
"send_message"
$ws->send_message('Hi there!');
$ws->send_message('Hi there!', sub {...});
Send a message over the WebSocket, encoding and framing will be handled
transparently.
"server_handshake"
$ws = $ws->server_handshake;
WebSocket handshake, only used by servers.
"server_read"
$ws = $ws->server_read($data);
Read raw WebSocket data, only used by servers.
"server_write"
my $chunk = $ws->server_write;
Raw WebSocket data to write, only used by servers.
DEBUGGING
You can set the "MOJO_WEBSOCKET_DEBUG" environment variable to get some
advanced diagnostics information printed to "STDERR".
MOJO_WEBSOCKET_DEBUG=1
SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>.
perl v5.14.1 2011-09-01 Mojo::Transaction::WebSocket(3)