Guzzle client middleware to profile HTTP requests.
Guzzle Middleware to log made HTTP requests to a timeline for debugging.
A couple of adapters are available:
// First you need a HandlerStack
$stack = GuzzleHttp\HandlerStack::create();
// Create a middleware by wrapping a profiler (eg: DebugBar's profiler):
/** @var DebugBar\DebugBar $debugBar */
$timeline = $debugBar->getCollector('time');
$profiler = new GuzzleHttp\Profiling\DebugBar\Profiler($timeline);
$middleware = new GuzzleHttp\Profiling\Middleware($profiler);
// Add the Middleware to the stack of middlewares.
$stack->unshift($middleware);
// Then you need to add it to the Guzzle HandlerStack
$stack = GuzzleHttp\HandlerStack::create();
$stack->unshift($middleware);
// Create a Guzzle Client with the new HandlerStack:
$client = new GuzzleHttp\Client(['handler' => $stack]);
And you are done! All requests will now be logged to whatever profiler you wrapped.
Feel free to make a pull request. Please try to be as
PSR-2
compliant as possible. Fix Code Style quickly by running vendor/bin/php-cs-fixer fix
. Give a good description of what is supposed to be added/changed/removed/fixed.
To test your code before pushing, run the unit test suite.
vendor/bin/phpunit