Completed
Push — master ( bac1bc...5acb47 )
by Ivo
07:35
created

DataCollectorPlugin::onClientResponse()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1.0156

Importance

Changes 0
Metric Value
dl 0
loc 4
ccs 3
cts 4
cp 0.75
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
crap 1.0156
1
<?php
2
3
namespace Freshcells\SoapClientBundle\Plugin;
4
5
use Freshcells\SoapClientBundle\DataCollector\SoapCallRegistry;
6
use Freshcells\SoapClientBundle\Event\Events;
7
use Freshcells\SoapClientBundle\Event\FaultEvent;
8
use Freshcells\SoapClientBundle\Event\RequestEvent;
9
use Freshcells\SoapClientBundle\Event\ResponseEvent;
10
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
11
12
class DataCollectorPlugin implements EventSubscriberInterface
13
{
14
    /**
15
     * @var SoapCallRegistry
16
     */
17
    private $registry;
18
19
    /**
20
     * @param SoapCallRegistry $registry
21
     */
22 6
    public function __construct(SoapCallRegistry $registry)
23
    {
24 6
        $this->registry = $registry;
25 6
    }
26
27
    /**
28
     * @param RequestEvent $event
29
     */
30 4
    public function onClientRequest(RequestEvent $event)
31
    {
32 4
        $this->registry->addRequest($event);
33 4
    }
34
35
    /**
36
     * @param ResponseEvent $event
37
     */
38 4
    public function onClientResponse(ResponseEvent $event)
39
    {
40 4
        $this->registry->addResponse($event);
41 4
    }
42
43
    /**
44
     * @param FaultEvent $event
45
     */
46 2
    public function onClientFault(FaultEvent $event)
47
    {
48 2
        $this->registry->addRequest($event->getRequestEvent());
49
        //todo use a dedicated fault rendering in profiler
50 2
        $this->registry->addResponse(
51 2
            new ResponseEvent(
52 2
                $event->getId(),
53 2
                $event->getRequestEvent()->getResource(),
54 2
                $event->getRequestEvent()->getRequest(),
55 2
                null,
56 2
                $event->getException()->getMessage(),
57 2
                null
58
            )
59
        );
60 2
    }
61
62
    /**
63
     * {@inheritdoc}
64
     */
65 2
    public static function getSubscribedEvents()
66
    {
67
        return array(
68 2
            Events::REQUEST  => 'onClientRequest',
69
            Events::RESPONSE => 'onClientResponse',
70
            Events::FAULT    => 'onClientFault'
71
        );
72
    }
73
}
74