https://github.com/emagtechlabs/guzzlemiddleware
https://github.com/emagtechlabs/guzzlemiddleware
Last synced: 8 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/emagtechlabs/guzzlemiddleware
- Owner: eMAGTechLabs
- Created: 2019-11-25T10:24:46.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-02-17T12:30:48.000Z (over 3 years ago)
- Last Synced: 2024-08-17T18:22:09.328Z (almost 2 years ago)
- Language: PHP
- Size: 41 KB
- Stars: 0
- Watchers: 5
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# Guzzle Middleware
This is a Guzzle middleware, which allows you to profile an http call, and send information to statsd daemon.
## Requirements
### Dependencies
| Dependency | Version
|:--- |:---:|
| **`php`** | ^7.2 | ^8.1 |
| **`guzzlehttp/guzzle`** | ^6.0 | ^7.0 |
| **`liuggio/statsd-php-client`** | ^1.0 |
| **`slickdeals/statsd`** | ^2.0 |
## Installation
This library is installed via [`composer`](http://getcomposer.org).
```bash
composer require "emag-tech-labs/guzzle-middleware"
```
## Usage
The package is able to work with 2 different statsd libraries, illugio or dominikl. Based on you're choice you will have to use the right adapter (DominikAdapter or IlugioAdapter) in order to instantiate the statsd client.
## Example
```php
$statsdClient = new DominikAdapter($dominikStatsdClient);
$handlerStack = new HandlerStack();
$handlerStack->push(new TimingProfiler($statsdClient));
$handlerStack->push(new HttpCodeProfiler($statsdClient));
$client = new Client(['handler' => $handlerStack]);
```