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.

  $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>

