Guzzle 6 progresso do download

Quero baixar um arquivo grande com o Guzzle e quero acompanhar o progresso. Não sei se tenho que passar por um fluxo ou usar o RequestMediator de alguma forma.

Tentei assinar o evento curl.callback.progress, mas a solicitação PSR 7 não possui um distribuidor de eventos.Eu tentei oon_stats, mas o retorno de chamada é acionado apenas no final.O plug-in de progresso progressivo foi descontinuadohttps://github.com/guzzle/progress-subscriber

Estou testando o seguinte código.

    $dl = 'http://archive.ubuntu.com/ubuntu/dists/wily/main/installer-amd64/current/images/netboot/mini.iso';
    $client = new Client([]);

    $request = new GuzzleHttp\Psr7\Request('get', $dl);
    $promise = $this->client->sendAsync($request, [
            'sink' => '/tmp/test.bin'
    ]);
    $promise->then(function  (Response $resp) use ( $fs) {
        echo 'Finished';
    }, function  (RequestException $e) {
    });
    $promise->wait();

Uma dica seria apreciada.

questionAnswers(1)

yourAnswerToTheQuestion