hannesvdvreken / guzzle-clockwork
一个使用 Clockwork 记录请求的 Guzzle 中间件
4.0.0-RC1
2021-09-20 15:01 UTC
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
⚠️ 本项目正在寻找维护者。如果您有兴趣积极参与维护 3 个紧密相关的包,请与我们联系。
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');
根据您的 Clockwork 集成,确保在输出页面之前调用 $clockwork->requestProcessed();
。
Laravel
如果您正在使用 Laravel,请使用包含的服务提供者将订阅者添加到每个 Guzzle 客户端。
'providers' => [ ... \Clockwork\Support\Laravel\ClockworkServiceProvider::class, \GuzzleHttp\Profiling\Clockwork\Support\Laravel\ServiceProvider::class, ],
请确保通过 IoC 容器创建每个客户端(使用 GuzzleHttp\ClientInterface
或 GuzzleHttp\Client
类型提示)。
Guzzle v4 和 v5
版本 0.2.0
及以上直到 1.0.0
(不含)均与 Guzzle v4 和 v5 兼容。为了开发这些版本的 Guzzle,请使用 guzzle4-5
分支。
使用
Guzzle v3
如果您想继续使用旧的 Guzzle v3(《Guzzle\Http\Client》代替 GuzzleHttp\Client
)Clockwork 插件,那么您可能需要安装 0.1.*
版本。将带有 Guzzle v3 兼容性的拉取请求提交到 guzzle3
分支。使用带有 0.1.*
或 dev-guzzle3
的最新兼容版本安装。
贡献
请随意提交拉取请求。请尽量遵守 PSR-2 规范。通过运行 vendor/bin/php-cs-fixer fix
快速修复代码风格问题。提供关于要添加/更改/删除/修复的内容的良好描述。
测试
在推送代码之前,运行单元测试套件。
vendor/bin/phpunit