*/ interface Plugin { /** * Handle the request and return the response coming from the next callable. * * @see http://docs.php-http.org/en/latest/plugins/build-your-own.html * * @param callable(RequestInterface): Promise $next Next middleware in the chain, the request is passed as the first argument * @param callable(RequestInterface): Promise $first First middleware in the chain, used to to restart a request * * @return Promise Resolves a PSR-7 Response or fails with an Http\Client\Exception (The same as HttpAsyncClient) */ public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise; }