Mojo::Transaction(3p) User Contributed Perl DocumentationMojo::Transaction(3p)



NAME
       Mojo::Transaction - Transaction Base Class

SYNOPSIS
         use Mojo::Base 'Mojo::Transaction';

DESCRIPTION
       Mojo::Transaction is an abstract base class for transactions.

ATTRIBUTES
       Mojo::Transaction implements the following attributes.

   "connection"
         my $connection = $tx->connection;
         $tx            = $tx->connection($connection);

       Connection identifier or socket.

   "keep_alive"
         my $keep_alive = $tx->keep_alive;
         $tx            = $tx->keep_alive(1);

       Connection can be kept alive.

   "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.

   "on_finish"
         my $cb = $tx->on_finish;
         $tx    = $tx->on_finish(sub {...});

       Callback signaling that the transaction has been finished.

         $tx->on_finish(sub {
           my $self = shift;
         });

   "on_resume"
         my $cb = $tx->on_resume;
         $tx    = $tx->on_resume(sub {...});

       Callback to be invoked whenever the transaction is resumed.

   "previous"
         my $previous = $tx->previous;
         $tx          = $tx->previous(Mojo::Transaction->new);

       Previous transaction that triggered this followup transaction.

   "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.

METHODS
       Mojo::Transaction inherits all methods from Mojo::Base and implements
       the following new ones.

   "client_read"
         $tx = $tx->client_read($chunk);

       Read and process client data.

   "client_write"
         my $chunk = $tx->client_write;

       Write client data.

   "error"
         my $message          = $message->error;
         my ($message, $code) = $message->error;

       Parser errors and codes.

   "is_done"
         my $done = $tx->is_done;

       Check if transaction is done.

   "is_websocket"
         my $is_websocket = $tx->is_websocket;

       Check if transaction is a WebSocket.

   "is_writing"
         my $writing = $tx->is_writing;

       Check if transaction is writing.

   "req"
         my $req = $tx->req;

       Transaction request, usually a Mojo::Message::Request object.

   "res"
         my $res = $tx->res;

       Transaction response, usually a Mojo::Message::Response object.

   "resume"
         $tx = $tx->resume;

       Resume transaction.

   "server_close"
         $tx = $tx->server_close;

       Transaction closed.

   "server_read"
         $tx = $tx->server_read($chunk);

       Read and process server data.

   "server_write"
         my $chunk = $tx->server_write;

       Write server data.

   "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.

         if (my $res = $tx->success) {
           print $res->body;
         }
         else {
           my ($message, $code) = $tx->error;
           if ($code) {
             print "$code $message response.\n";
           }
           else {
             print "Connection error: $message\n";
           }
         }

       Error messages can be accessed with the "error" method of the
       transaction object.

SEE ALSO
       Mojolicious, Mojolicious::Guides, <http://mojolicio.us>.



perl v5.12.2                      2011-02-17             Mojo::Transaction(3p)
