Table of Contents
$client = new \Inane\Http\Client();
$response = new \Inane\Http\Response();
$response->setBody('{"title":"Example"}');
$client->send($response);How to show progress on downloads requested using the Http Client.
Print download progress to console.
class Package implements NotifyProgressInterface {
public function progress(int $download_total, int $downloaded, int $percent): void {
if ($percent === 100) {
printf("\rDownloaded: %d bytes", $downloaded);
} else {
printf("\rDownloaded: %0.2f%% (%d / %d bytes)", $percent, $downloaded, $download_total);
}
}
}
$pkg = new Package('xxx');
$client = new \Inane\Http\Client();
$request = new Request('GET', $pkg->getDataUrl());
$client->registerProgressListener($pkg);
$response = $client->sendRequest($request);
$json = $response->getBody()->getContents();