GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Mojo::Transaction::HTTP(3) User Contributed Perl Documentation Mojo::Transaction::HTTP(3)

Mojo::Transaction::HTTP - HTTP transaction

  use Mojo::Transaction::HTTP;

  # Client
  my $tx = Mojo::Transaction::HTTP->new;
  $tx->req->method('GET');
  $tx->req->url->parse('http://example.com');
  $tx->req->headers->accept('application/json');
  say $tx->res->code;
  say $tx->res->headers->content_type;
  say $tx->res->body;
  say $tx->remote_address;

  # Server
  my $tx = Mojo::Transaction::HTTP->new;
  say $tx->req->method;
  say $tx->req->url->to_abs;
  say $tx->req->headers->accept;
  say $tx->remote_address;
  $tx->res->code(200);
  $tx->res->headers->content_type('text/plain');
  $tx->res->body('Hello World!');

Mojo::Transaction::HTTP is a container for HTTP transactions, based on RFC 7230 <https://tools.ietf.org/html/rfc7230> and RFC 7231 <https://tools.ietf.org/html/rfc7231>.

Mojo::Transaction::HTTP inherits all events from Mojo::Transaction and can emit the following new ones.

  $tx->on(request => sub ($tx) {...});

Emitted when a request is ready and needs to be handled.

  $tx->on(request => sub ($tx) { $tx->res->headers->header('X-Bender' => 'Bite my shiny metal ass!') });

  $tx->on(resume => sub ($tx) {...});

Emitted when transaction is resumed.

  $tx->on(unexpected => sub ($tx, $res) {...});

Emitted for unexpected "1xx" responses that will be ignored.

  $tx->on(unexpected => sub ($tx) { $tx->res->on(finish => sub { say 'Follow-up response is finished.' }) });

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

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

Previous transaction that triggered this follow-up transaction, usually a Mojo::Transaction::HTTP object.

  # Paths of previous requests
  say $tx->previous->previous->req->url->path;
  say $tx->previous->req->url->path;

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

  $tx->client_read($bytes);

Read data client-side, used to implement user agents such as Mojo::UserAgent.

  my $bytes = $tx->client_write;

Write data client-side, used to implement user agents such as Mojo::UserAgent.

  my $bool = $tx->is_empty;

Check transaction for "HEAD" request and "1xx", 204 or 304 response.

  my $bool = $tx->keep_alive;

Check if connection can be kept alive.

  my $redirects = $tx->redirects;

Return an array reference with all previous transactions that preceded this follow-up transaction.

  # Paths of all previous requests
  say $_->req->url->path for @{$tx->redirects};

  $tx = $tx->resume;

Resume transaction.

  $tx->server_read($bytes);

Read data server-side, used to implement web servers such as Mojo::Server::Daemon.

  my $bytes = $tx->server_write;

Write data server-side, used to implement web servers such as Mojo::Server::Daemon.

Mojolicious, Mojolicious::Guides, <https://mojolicious.org>.
2021-12-08 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.