Test::Async::HTTP - unit test code that uses Net::Async::HTTP
Test::Async::HTTP
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.
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.
X-NaHTTP-Timeout
stall_timeout
expect_continue
SSL
These arguments are entirely ignored.
Convenient wrappers for using the GET, HEAD, PUT or POST methods with a URI object and few if any other arguments, returning a Future.
GET
HEAD
PUT
POST
URI
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.
ARRAY
content_type
%args
Returns the next pending request wrapper object if one is outstanding (due to an earlier call to do_request), or undef.
do_request
undef
Objects returned by next_pending respond to the following methods:
next_pending
Returns the HTTP::Request object underlying this pending request.
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.
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.
respond
respond_header
respond_more
respond_done
Paul Evans <leonerd@leonerd.org.uk>
To install Test::Async::HTTP, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Test::Async::HTTP
CPAN shell
perl -MCPAN -e shell install Test::Async::HTTP
For more information on module installation, please visit the detailed CPAN module installation guide.