hannesvdvreken/guzzle-profiler

A Guzzle middleware that profiles requests made by the client.

2.1.0 2021-09-23 17:50 UTC

This package is auto-updated.

Last update: 2024-03-01 11:18:51 UTC


README

⚠️ This project is up for adoption. Get in touch if you're interested in actively maintaining 3 closely related packages.

Build Status Latest Stable Version Code Quality Code Coverage Total Downloads License

Guzzle Middleware to log made HTTP requests to a timeline for debugging.

Adapter

A couple of adapters are available:

Usage

// 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.

Contributing

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.

Testing

To test your code before pushing, run the unit test suite.

vendor/bin/phpunit

License

MIT