Completed
Push — master ( 401b14...f6ee11 )
by Ivo
10:45 queued 10s
created

LogPlugin::onClientFault()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 9
ccs 0
cts 7
cp 0
rs 9.9666
c 0
b 0
f 0
cc 1
nc 1
nop 1
crap 2
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 6
    public function onClientRequest(RequestEvent $event)
37
    {
38 6
        $this->logger->info(sprintf(
39 6
            '[freshcells/soap-client-bundle] pre request: about to call "%s" with params %s',
40 6
            $event->getResource(),
41 6
            print_r($event->getRequest(), true)
42
        ));
43 6
    }
44
45
    /**
46
     * @param ResponseEvent $event
47
     */
48 6
    public function onClientResponse(ResponseEvent $event)
49
    {
50 6
        $this->logger->info(sprintf(
51 6
            '[freshcells/soap-client-bundle] request: %s %s',
52 6
            print_r($event->getRequestHeaders(), true),
53 6
            print_r($event->getRequestContent(), true)
54
        ));
55 6
        $this->logger->info(sprintf(
56 6
            '[freshcells/soap-client-bundle] response: %s %s',
57 6
            print_r($event->getResponseHeaders(), true),
58 6
            print_r($event->getResponseContent(), true)
59
        ));
60 6
    }
61
62
    /**
63
     * @param FaultEvent $event
64
     */
65
    public function onClientFault(FaultEvent $event)
66
    {
67
        $this->logger->error(sprintf(
68
            '[freshcells/soap-client-bundle] fault "%s" for request "%s" with params %s',
69
            $event->getException()->getMessage(),
70
            $event->getRequestEvent()->getResource(),
71
            print_r($event->getRequestEvent()->getRequest(), true)
72
        ));
73
    }
74
75
    /**
76
     * {@inheritdoc}
77
     */
78 3
    public static function getSubscribedEvents()
79
    {
80
        return [
81 3
            Events::REQUEST  => 'onClientRequest',
82 3
            Events::RESPONSE => 'onClientResponse',
83 3
            Events::FAULT    => 'onClientFault'
84
        ];
85
    }
86
}
87