Skip to content
This repository has been archived by the owner on Jun 27, 2022. It is now read-only.
/ progress-subscriber Public archive

[DEPRECATED] Emits upload and download progress events (Guzzle 4)

License

Notifications You must be signed in to change notification settings

guzzle/progress-subscriber

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Guzzle Progress Subscriber

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.

About

[DEPRECATED] Emits upload and download progress events (Guzzle 4)

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Languages