履歴ミドルウェアを使用でき、宣伝どおりに機能します。
use GuzzleHttp\Client;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Middleware;
use Psr\Http\Message\RequestInterface;
$container = [];
$stack = HandlerStack::create();
$stack->push(Middleware::history($container));
$client = new Client([
'base_uri' => 'http://foo.com',
'handler' => $stack,
]);
$response = $client->request('GET', 'bar.html');
/* @var RequestInterface $request */
$request = $container[0]['request'];
echo $request->getUri();
参考として、http://docs.guzzlephp.org/en/latest/testing.html#history-middlewareを参照してください。