1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
<?php
namespace Commercetools\Core\Helper\Subscriber;
use Commercetools\Core\Helper\CorrelationIdProvider;
use Commercetools\Core\Response\AbstractApiResponse;
use GuzzleHttp\Event\BeforeEvent;
use GuzzleHttp\Event\RequestEvents;
use GuzzleHttp\Event\SubscriberInterface;
class CorrelationIdSubscriber implements SubscriberInterface
{
private $provider;
public function __construct(CorrelationIdProvider $provider)
{
$this->provider = $provider;
}
public function getEvents()
{
return ['before' => ['onBefore', RequestEvents::PREPARE_REQUEST - 10]];
}
public function onBefore(BeforeEvent $event, $name)
{
$event->getRequest()->addHeader(AbstractApiResponse::X_CORRELATION_ID, $this->provider->getCorrelationId());
}
}