Guzzle middleware for logging requests clockwork's timeline so you can view the timeline in your browser's developer tools.
Composer install
composer require keerill/guzzle-clockwork
// First you need a Clockwork object
$clockwork = \Clockwork\Support\Vanilla\Clockwork::init();
// Create the Guzzle middleware
$middleware = new \GuzzleHttp\Profiling\Middleware(
new \GuzzleHttp\Profiling\Clockwork\Profiler($clockwork->getClockwork()->timeline())
);
// Then you need to add it to the Guzzle HandlerStack
$stack = \GuzzleHttp\HandlerStack::create();
$stack->unshift($middleware);
$client = new \GuzzleHttp\Client(['handler' => $stack]);
$client->get('https://httpbin.org/status/418');
Depending on your integration of Clockwork, make sure that you call $clockwork->requestProcessed();
before you output your page.
If you are using Laravel, use the included service providers to add the subscriber to every Guzzle Client.
'providers' => [
...
\Clockwork\Support\Laravel\ClockworkServiceProvider::class,
\GuzzleHttp\Profiling\Clockwork\GuzzleClockworkServiceProvider::class,
],
Be sure to create every client (type hint with GuzzleHttp\ClientInterface
or GuzzleHttp\Client
) via the IoC container.
Feel free to make a pull request. Please try to be as
PSR-2
compliant as possible. Fix Code Style quickly by running composer format
. 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.
composer test