Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mojo::transaction(3pm) [debian man page]

Mojo::Transaction(3pm)					User Contributed Perl Documentation				    Mojo::Transaction(3pm)

NAME
Mojo::Transaction - Transaction base class SYNOPSIS
use Mojo::Base 'Mojo::Transaction'; DESCRIPTION
Mojo::Transaction is an abstract base class for transactions. EVENTS
Mojo::Transaction can emit the following events. "connection" $tx->on(connection => sub { my ($tx, $connection) = @_; ... }); Emitted when a connection has been assigned to transaction. "finish" $tx->on(finish => sub { my $tx = shift; ... }); Emitted when transaction is finished. "resume" $tx->on(resume => sub { my $tx = shift; ... }); Emitted when transaction is resumed. ATTRIBUTES
Mojo::Transaction implements the following attributes. "kept_alive" my $kept_alive = $tx->kept_alive; $tx = $tx->kept_alive(1); Connection has been kept alive. "local_address" my $local_address = $tx->local_address; $tx = $tx->local_address($address); Local interface address. "local_port" my $local_port = $tx->local_port; $tx = $tx->local_port($port); Local interface port. "previous" my $previous = $tx->previous; $tx = $tx->previous(Mojo::Transaction->new); Previous transaction that triggered this followup transaction. # Path of previous request say $tx->previous->req->url->path; "remote_address" my $remote_address = $tx->remote_address; $tx = $tx->remote_address($address); Remote interface address. "remote_port" my $remote_port = $tx->remote_port; $tx = $tx->remote_port($port); Remote interface port. "req" my $req = $tx->req; $tx = $tx->req(Mojo::Message::Request->new); HTTP 1.1 request, defaults to a Mojo::Message::Request object. "res" my $res = $tx->res; $tx = $tx->res(Mojo::Message::Response->new); HTTP 1.1 response, defaults to a Mojo::Message::Response object. METHODS
Mojo::Transaction inherits all methods from Mojo::EventEmitter and implements the following new ones. "client_close" $tx->client_close; Transaction closed. "client_read" $tx->client_read($chunk); Read and process client data. Meant to be overloaded in a subclass. "client_write" my $chunk = $tx->client_write; Write client data. Meant to be overloaded in a subclass. "connection" my $connection = $tx->connection; $tx = $tx->connection($connection); Connection identifier or socket. "error" my $message = $tx->error; my ($message, $code) = $tx->error; Parser errors and codes. "is_finished" my $success = $tx->is_finished; Check if transaction is finished. "is_websocket" my $false = $tx->is_websocket; False. "is_writing" my $success = $tx->is_writing; Check if transaction is writing. "resume" $tx = $tx->resume; Resume transaction. "server_close" $tx->server_close; Transaction closed. "server_read" $tx->server_read($chunk); Read and process server data. Meant to be overloaded in a subclass. "server_write" my $chunk = $tx->server_write; Write server data. Meant to be overloaded in a subclass. "success" my $res = $tx->success; Returns the Mojo::Message::Response object ("res") if transaction was successful or "undef" otherwise. Connection and parser errors have only a message in "error", 400 and 500 responses also a code. # Sensible exception handling if (my $res = $tx->success) { say $res->body; } else { my ($message, $code) = $tx->error; if ($code) { say "$code $message response."; } else { say "Connection error: $message"; } } Error messages can be accessed with the "error" method of the transaction object. SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>. perl v5.14.2 2012-09-05 Mojo::Transaction(3pm)
Man Page