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
<?php
namespace Commercetools\Core\Helper\Subscriber;
use Commercetools\Core\Client\OAuth\TokenProvider;
use GuzzleHttp\Event\BeforeEvent;
use GuzzleHttp\Event\RequestEvents;
use GuzzleHttp\Event\SubscriberInterface;
class TokenSubscriber implements SubscriberInterface
{
private $provider;
public function __construct(TokenProvider $provider)
{
$this->provider = $provider;
}
public function getEvents()
{
return ['before' => ['onBefore', RequestEvents::PREPARE_REQUEST - 15]];
}
public function onBefore(BeforeEvent $event, $name)
{
$event->getRequest()->addHeader('Authorization', 'Bearer ' . $this->provider->getToken()->getToken());
}
}