Skip to content

A Guzzle middleware for profiling requests made through the client.

License

Notifications You must be signed in to change notification settings

hannesvdvreken/guzzle-profiler

Repository files navigation

Guzzle client middleware to profile HTTP requests.

⚠️ 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

About

A Guzzle middleware for profiling requests made through the client.

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Languages