1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
NAME
`Test::Async::HTTP' - unit test code that uses `Net::Async::HTTP'
DESCRIPTION
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.
METHODS
$f = $http->do_request( %args )
Implements the actual Net::Async::HTTP request API.
The following arguments are handled specially:
* timeout
The value of a `timeout' argument is captured as an extra header on
the request object called `X-NaHTTP-Timeout'.
* stall_timeout
* expect_continue
* SSL
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
`Future'.
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
`do_request' method.
$p->respond_header( $header )
$p->respond_more( $data )
$p->respond_done
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
request.
AUTHOR
Paul Evans <leonerd@leonerd.org.uk>
|