hannesvdvreken / guzzle-clockwork
A Guzzle middleware that logs requests with Clockwork
Fund package maintenance!
hannesvdvreken
Installs: 54 975
Dependents: 0
Suggesters: 0
Security: 0
Stars: 43
Watchers: 2
Forks: 9
Open Issues: 1
Requires
- php: >=7.3
- hannesvdvreken/guzzle-profiler: ^2.0
- itsgoingd/clockwork: ^5.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.2.20
- illuminate/support: >=6
- phpunit/phpunit: ^8.2.3|^9
README
⚠️ This project is up for adoption. Get in touch if you're interested in actively maintaining 3 closely related packages.
Guzzle middleware for logging requests clockwork's timeline so you can view the timeline in your browser's developer tools.
Usage
// 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.
Laravel
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\Support\Laravel\ServiceProvider::class, ],
Be sure to create every client (type hint with GuzzleHttp\ClientInterface
or GuzzleHttp\Client
) via the IoC container.
Guzzle v4 and v5
Versions 0.2.0
and up until 1.0.0
(exclusively) are all compatible with Guzzle v4 and v5. To develop for these versions of Guzzle, use the guzzle4-5
branch.
Use
Guzzle v3
If you want to continue to work with the old Guzzle v3 (Guzzle\Http\Client
instead of GuzzleHttp\Client
) ClockworkPlugin
then you might want to install the 0.1.*
releases. Pull request with Guzzle v3 compatibility should be made against the guzzle3
branch. Install the latest guzzle v3 compatible version with 0.1.*
or dev-guzzle3
.
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