protected function next(RequestInterface $request)
{
$this->progress('request', array($request));
$that = $this;
++$this->numRequests;
$promise = $this->sender->send($request, $this->messageFactory);
if (!$this->streaming) {
$promise = $promise->then(array($that, 'bufferResponse'));
}
return $promise->then(function (ResponseInterface $response) use($request, $that) {
return $that->onResponse($response, $request);
}, function ($error) use($request, $that) {
return $that->onError($error, $request);
});
}