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

LogPlugin::onClientFault()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 7
CRAP Score 1.0109

Importance

Changes 0
Metric Value
dl 0
loc 9
ccs 7
cts 9
cp 0.7778
rs 9.9666
c 0
b 0
f 0
cc 1
nc 1
nop 1
crap 1.0109
1
<?php
2
3
namespace Freshcells\SoapClientBundle\Plugin;
4
5
use Freshcells\SoapClientBundle\Event\Events;
6
use Freshcells\SoapClientBundle\Event\FaultEvent;
7
use Freshcells\SoapClientBundle\Event\RequestEvent;
8
use Freshcells\SoapClientBundle\Event\ResponseEvent;
9
use Psr\Log\LoggerInterface;
10
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
11
12
/**
13
 * Class LogPlugin
14
 * @package Freshcells\SoapClientBundle\Plugin
15
 */
16
class LogPlugin implements EventSubscriberInterface
17
{
18
    /**
19
     * @var LoggerInterface
20
     */
21
    private $logger;
22
23
    /**
24
     * Constructor
25
     *
26
     * @param LoggerInterface $logger
27
     */
28 6
    public function __construct(LoggerInterface $logger)
29
    {
30 6
        $this->logger = $logger;
31 6
    }
32
33
    /**
34
     * @param RequestEvent $event
35
     */
36 4
    public function onClientRequest(RequestEvent $event)
37
    {
38 4
        $this->logger->info(sprintf(
39 4
            '[freshcells/soap-client-bundle] pre request: about to call "%s" with params %s',
40 4
            $event->getResource(),
41 4
            print_r($event->getRequest(), true)
42
        ));
43 4
    }
44
45
    /**
46
     * @param ResponseEvent $event
47
     */
48 4
    public function onClientResponse(ResponseEvent $event)
49
    {
50 4
        $this->logger->info(sprintf(
51 4
            '[freshcells/soap-client-bundle] request: %s %s',
52 4
            print_r($event->getRequestHeaders(), true),
53 4
            print_r($event->getRequestContent(), true)
54
        ));
55 4
        $this->logger->info(sprintf(
56 4
            '[freshcells/soap-client-bundle] response: %s %s',
57 4
            print_r($event->getResponseHeaders(), true),
58 4
            print_r($event->getResponseContent(), true)
59
        ));
60 4
    }
61
62
    /**
63
     * @param FaultEvent $event
64
     */
65 2
    public function onClientFault(FaultEvent $event)
66
    {
67 2
        $this->logger->error(sprintf(
68 2
            '[freshcells/soap-client-bundle] fault "%s" for request "%s" with params %s',
69 2
            $event->getException()->getMessage(),
70 2
            $event->getRequestEvent()->getResource(),
71 2
            print_r($event->getRequestEvent()->getRequest(), true)
72
        ));
73 2
    }
74
75
    /**
76
     * {@inheritdoc}
77
     */
78 2
    public static function getSubscribedEvents()
79
    {
80
        return array(
81 2
            Events::REQUEST  => 'onClientRequest',
82 2
            Events::RESPONSE => 'onClientResponse',
83 2
            Events::FAULT    => 'onClientFault'
84
        );
85
    }
86
}
87