for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Http\HttplugBundle\Collector;
use Exception;
use Http\Client\Common\Plugin;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseInterface;
class StackPlugin implements Plugin
{
/**
* @var Collector
*/
private $collector;
* @var string
private $client;
* @var Formatter
private $formatter;
* @param Collector $collector
* @param Formatter $formatter
* @param string $client
public function __construct(Collector $collector, Formatter $formatter, $client)
$this->collector = $collector;
$this->formatter = $formatter;
$this->client = $client;
}
* {@inheritdoc}
public function handleRequest(RequestInterface $request, callable $next, callable $first)
$stack = new Stack();
$stack->setClient($this->client);
$stack->setRequest($this->formatter->formatRequest($request));
$this->collector->addStack($stack);
return $next($request)->then(function (ResponseInterface $response) use ($stack) {
$stack->setResponse($this->formatter->formatResponse($response));
return $response;
}, function (Exception $exception) use ($stack) {
$stack->setResponse($this->formatter->formatException($exception));
$stack->setFailed(true);
throw $exception;
});