Completed
Pull Request — develop (#333)
by Jens
14:58
created

CorrelationIdSubscriber   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 22
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 3
lcom 1
cbo 1
dl 0
loc 22
ccs 0
cts 12
cp 0
rs 10
c 0
b 0
f 0

3 Methods

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