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\Exception\HttpException;
use Http\Client\Exception\TransferException;
use Http\Message\Formatter as FormatterInterface;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseInterface;
/**
* @author Fabien Bourigault <[email protected]>
*
* @internal
*/
class Formatter implements FormatterInterface
{
* @var FormatterInterface
private $formatter;
* @param FormatterInterface $formatter
public function __construct(FormatterInterface $formatter)
$this->formatter = $formatter;
}
* Formats an exception.
* @param Exception $exception
* @return string
public function formatException(Exception $exception)
if ($exception instanceof HttpException) {
return $this->formatter->formatResponse($exception->getResponse());
if ($exception instanceof TransferException) {
return $exception->getMessage();
return sprintf('Unexpected exception of type "%s"', get_class($exception));
* {@inheritdoc}
public function formatRequest(RequestInterface $request)
return $this->formatter->formatRequest($request);
public function formatResponse(ResponseInterface $response)
return $this->formatter->formatResponse($response);