miquido/request-data-collector-guzzle

用于通过收集 Guzzle 请求来扩展请求数据收集器的库。

v2.3.0 2021-04-14 12:27 UTC

This package is auto-updated.

Last update: 2024-09-18 17:33:23 UTC


README

此包是请求数据收集器的扩展。允许收集 Guzzle 请求。

GitHub license Build

设置

GuzzleCollector

此收集器被用来收集执行 Guzzle 请求的相关数据。

'guzzle' => [
	'driver' => \Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::class,

	'decorate' => [
		'with' => \Miquido\RequestDataCollector\Collectors\GuzzleCollector\Guzzle6ClientDecorator::class,

		'abstracts' => [
			abstract => [
				'type'    => \Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::TYPE_*,
				'create'  => boolean,
				'collect' => [
					\Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::INFO_BY,
					\Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::INFO_VIA,
					\Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::INFO_METHOD,
					\Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::INFO_URI,
					\Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::INFO_HEADERS,
					\Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::INFO_OPTIONS,
				],
			],
			
			// ...
		],
	],
],

decorate.with

定义了负责收集请求的 Guzzle 客户端装饰器类。

decorate.abstracts

定义了容器中注册的 Guzzle 客户端列表。所有抽象都将使用 decorate.with 中定义的类进行装饰。

每个抽象都是以以下方式定义的

abstract => [
	'type'   => \Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::TYPE_*,
	'create' => boolean,
	'collect' => [
		// \Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::INFO_*
	],
],

abstract 是在容器中注册实例的名称(例如 my-guzzle-client\GuzzleHttp\ClientInterface::class)。

type 定义了抽象的类型(请参阅 \Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::TYPE_* 常量)。

collect 定义了应该记录的请求信息列表(请参阅 \Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::INFO_* 常量)。如果未指定,则使用所有信息。始终可用 times 信息。

此外,您可以包括和排除头部信息(不区分大小写)。请记住,包含具有优先级高于排除

abstract => [
	// ...

	'collect' => [
		\Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::INFO_HEADERS => [
			// We don't want Authorization header to be present in logs
			'excludes' => [
				'Authorization'
			],

			// From all headers that has been sent, only those are interesting for us
			'includes' => [
				'Accept',
				'content-type',
			],
		],
	],
],

create 等于 true 时,定义即使在容器中不存在也添加实例到容器中。

关于

该项目由 Miquido 制作:https://www.miquido.com