slepic/guzzle-http-observing-middleware 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

slepic/guzzle-http-observing-middleware

最新稳定版本:1.0.2

Composer 安装命令:

composer require slepic/guzzle-http-observing-middleware

包简介

Adapter of slepic/http-transfer ObserverInterface to guzzlehttp/guzzle middleware.

README 文档

README

Build Status Style Status

guzzle-http-observing-middleware

Adapter of ObserverInterface from slepic/http-transfer package to guzzlehttp/guzzle middleware.

packagist

Requirements

PHP >=5.6

Installation

Install with composer.

composer require slepic/guzzle-http-observing-middleware

Usage

Wrap any instance of \Slepic\Http\Transfer\Observer\ObserverInterface from package slepic/http-transfer in the \Slepic\Guzzle\Http\ObservingMiddleware\ObservingMiddleware and pass it to handler stack of your guzzle client.

All requests sent through the guzzle client will now be notified when requests are starting to get processed and when responses are received.

See an example where we use \Slepic\Http\Transfer\History\HistoryObserver to log requests and responses with timing.

$storage = new ArrayStorage();
$observer = new HistoryObserver($storage);
$middleware = new ObservingMiddleware($observer);

$client = new \GuzzleHttp\Client();
$client->getConfig('handler')->unshift($middleware);

try {
$response = $client->request($method, $uri);
} catch (\Exception $e) {
  assert($storage[0]->getRequest()->getMethod() === $method);
  assert((string)($storage[0]->getRequest()->getUri()) === $uri);
  assert($storage[0]->getException() === $e);
  assert(0 < ($storage[0]->getEndTime() - $storage[0]->getStartTime()));
  throw $e;
}

assert($storage[0]->getRequest()->getMethod() === 'GET');
assert((string)($storage[0]->getRequest()->getUri()) === $uri);
assert($storage[0]->getResponse() === $response);
assert(0 < ($storage[0]->getEndTime() - $storage[0]->getStartTime()));

Related

统计信息

  • 总下载量: 17.91k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2019-05-01