`Test::Async::HTTP' - unit test code that uses `Net::Async::HTTP'
This module implements a mock version of Net::Async::HTTP suitable for
unit tests that virtualises the actual HTTP request/response cycle,
allowing the unit test script to inspect the requests made and provide
responses to them.
$f = $http->do_request( %args )
Implements the actual Net::Async::HTTP request API.
The following arguments are handled specially:
The value of a `timeout' argument is captured as an extra header on
the request object called `X-NaHTTP-Timeout'.
These arguments are entirely ignored.
$response = $http->GET( $uri, %args )->get
$response = $http->HEAD( $uri, %args )->get
$response = $http->PUT( $uri, $content, %args )->get
$response = $http->POST( $uri, $content, %args )->get
Convenient wrappers for using the `GET', `HEAD', `PUT' or `POST' methods
with a `URI' object and few if any other arguments, returning a
Remember that `POST' with non-form data (as indicated by a plain scalar
instead of an `ARRAY' reference of form data name/value pairs) needs a
`content_type' key in `%args'.
$p = $http->next_pending
Returns the next pending request wrapper object if one is outstanding
(due to an earlier call to `do_request'), or `undef'.
PENDING REQUEST OBJECTS
Objects returned by `next_pending' respond to the following methods:
$request = $p->request
Returns the HTTP::Request object underlying this pending request.
$p->respond( $resp )
Makes the request complete with the given HTTP::Response response. This
response is given to the Future that had been returned by the
$p->respond_header( $header )
$p->respond_more( $data )
Alternative to the single `respond' method, to allow an equivalent of
chunked encoding response. `respond_header' responds with the header and
initial content, followed by multiple calls to `respond_more' to provide
more body content, until a final `respond_done' call finishes the
Paul Evans <email@example.com>