miquido / request-data-collector-guzzle
Library used to extend the Request Data Collector by collecting Guzzle requests.
Installs: 8 678
Dependents: 0
Suggesters: 1
Security: 0
Stars: 1
Watchers: 3
Forks: 0
Open Issues: 0
Requires
- php: ^7.3|^8.0
- guzzlehttp/guzzle: ^6.0|^7.0
- miquido/request-data-collector: ^2.2
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.18.5
- jangregor/phpstan-prophecy: ^0.8.1
- phpspec/prophecy-phpunit: ^2.0.1
- phpstan/phpstan: ^0.12.83
- phpstan/phpstan-phpunit: ^0.12.18
- phpunit/phpunit: ^9.5
- symfony/var-dumper: ^5.2
Suggests
- miquido/request-data-collector-elasticsearch: Allows collecting Elasticsearch requests
README
This package is an extension to the Request Data Collector. Allows collecting Guzzle requests.
Set up
GuzzleCollector
This collector is being used to collect data about performed Guzzle requests.
'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
Defines Guzzle Client decorator class responsible for collecting requests.
decorate.abstracts
Defines a list of Guzzle Clients registered in the container. All abstracts will be decorated with class defined in decorate.with
.
Every abstract is being defined in following way:
abstract => [ 'type' => \Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::TYPE_*, 'create' => boolean, 'collect' => [ // \Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::INFO_* ], ],
abstract is the name under which instance has been registered in the container (e.g. my-guzzle-client
or \GuzzleHttp\ClientInterface::class
).
type defines the type of abstract (see \Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::TYPE_*
constants).
collect defines list of request's information that should be logged (see \Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::INFO_*
constants). If missing, all information will be used. The times
information will always be available.
Additionally, You can include and exclude headers (case-insensitive). Remember, that inclusions have priority over exclusions.
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', ], ], ], ],
When create equals true
, defines to add an instance to the container even if it does not exist.
About
The project was made by Miquido: https://www.miquido.com