Mojo::Transaction(3p)

NAME
Mojo::Transaction - HTTP Transaction Container

SYNOPSIS
    use Mojo::Transaction;

    my $tx = Mojo::Transaction->new;

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

    my $keep_alive = $tx->keep_alive;

DESCRIPTION
Mojo::Transaction is a container for HTTP transactions.

ATTRIBUTES
Mojo::Transaction inherits all attributes from Mojo::Stateful and implements the following new ones.

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

  "continue_timeout"
    my $continue_timeout = $tx->continue_timeout;
    $tx                  = $tx->continue_timeout(3);

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

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

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

  "local_address"
    my $local_address = $tx->local_address;
    $tx               = $tx->local_address($address);

  "local_port"
    my $local_port = $tx->local_port;
    $tx            = $tx->local_port($port);

  "remote_address"
    my $remote_address = $tx->remote_address;
    $tx                = $tx->remote_address($address);

  "remote_port"
    my $remote_port = $tx->remote_port;
    $tx             = $tx->remote_port($port);

  "req"
    my $req = $tx->req;
    $tx     = $tx->req(Mojo::Message::Request->new);

  "res"
    my $res = $tx->res;
    $tx     = $tx->res(Mojo::Message::Response->new);

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

  "client_connect"
    $tx = $tx->client_connect;

  "client_connected"
    $tx = $tx->client_connected;

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

  "client_info"
    my ($scheme, $host, $address, $port) = $tx->client_info;

  "client_leftovers"
    my $leftovers = $tx->client_leftovers;

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

  "client_spin"
    $tx = $tx->client_spin;

  "client_written"
    $tx = $tx->client_written($length);

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

  "new_delete"
    my $tx = Mojo::Transaction->new_delete('http://127.0.0.1',
        User-Agent => 'Mojo'
    );
    my $tx = Mojo::Transaction->new_delete('http://127.0.0.1', {
        User-Agent => 'Mojo'
    });

  "new_get"
    my $tx = Mojo::Transaction->new_get('http://127.0.0.1',
        User-Agent => 'Mojo'
    );
    my $tx = Mojo::Transaction->new_get('http://127.0.0.1', {
        User-Agent => 'Mojo'
    });

  "new_head"
    my $tx = Mojo::Transaction->new_head('http://127.0.0.1',
        User-Agent => 'Mojo'
    );
    my $tx = Mojo::Transaction->new_head('http://127.0.0.1', {
        User-Agent => 'Mojo'
    });

  "new_post"
    my $tx = Mojo::Transaction->new_post('http://127.0.0.1',
        User-Agent => 'Mojo'
    );
    my $tx = Mojo::Transaction->new_post('http://127.0.0.1', {
        User-Agent => 'Mojo'
    });

  "new_put"
    my $tx = Mojo::Transaction->new_put('http://127.0.0.1',
        User-Agent => 'Mojo'
    );
    my $tx = Mojo::Transaction->new_put('http://127.0.0.1', {
        User-Agent => 'Mojo'
    });

  "server_accept"
    $tx = $tx->server_accept;

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

  "server_handled"
    $tx = $tx->server_handled;

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

  "server_spin"
    $tx = $tx->server_spin;

  "server_written"
    $tx = $tx->server_written($bytes);