hannesvdvreken/guzzle-clockwork

一个使用 Clockwork 记录请求的 Guzzle 中间件

4.0.0-RC1 2021-09-20 15:01 UTC

This package is auto-updated.

Last update: 2024-08-30 12:17:27 UTC


README

⚠️ 本项目正在寻找维护者。如果您有兴趣积极参与维护 3 个紧密相关的包,请与我们联系。

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

Guzzle 中间件,用于记录请求的 Clockwork 时间线,以便您可以在浏览器开发者工具中查看时间线。

Developer tools timeline

Developer tools logs

用法

// 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\ClientInterfaceGuzzleHttp\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

许可

MIT