guzzlehttp / progress-subscriber
Emits upload and download progress events
Installs: 15 788
Dependents: 2
Suggesters: 1
Security: 0
Stars: 17
Watchers: 5
Forks: 2
Open Issues: 1
Requires
- php: >=5.4.0
- guzzlehttp/guzzle: ~4.0
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2020-02-07 15:46:36 UTC
README
Adds upload and download progress events to transfers.
<?php require 'vendor/autoload.php'; use GuzzleHttp\Client; use GuzzleHttp\Subscriber\Progress\Progress; $uploadCallback = function ($expected, $total, $client, $request) { printf("Upload: %d %% \r", 100 * ($total / $expected)); }; $downloadCallback = function ($expected, $total, $client, $request, $res) { printf("Download: %d %% \r", 100 * ($total / $expected)); }; $progress = new Progress($uploadCallback, $downloadCallback); $client = new Client(); $client->put('http://httpbin.org/put', [ 'body' => str_repeat('.', 10000), 'subscribers' => [$progress], ]); echo "\n";
Installing
This project can be installed using Composer. Add the following to your composer.json:
{ "require": { "guzzlehttp/progress-subscriber": "~1.0" } }
Constructor Options
The GuzzleHttp\Subscriber\Progress\Progress
class accepts the following
constructor arguments:
$uploadProgress
- (callable) A function that is invoked each time data is read from the upload stream. The event receives the expected number of bytes to transfer in the first argument, the total number of bytes transferred in the second argument, the client used to send the request in the third argument, and the request being sent in the fourth argument.
$downloadProgress
- (callable) A function that is invoked each time data is written to the response body. The event receives the expected number of bytes to download in the first argument, the total number of bytes downloaded in the second argument, the client that sent the request in the third argument, the request that was sent in the fourth argument, and the response being received in the fifth argument.