Completed
Push — master ( 5acb47...9425df )
by Ivo
02:12 queued 14s
created

LogPlugin   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 71
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 5
lcom 0
cbo 4
dl 0
loc 71
ccs 30
cts 30
cp 1
rs 10
c 0
b 0
f 0

5 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A onClientRequest() 0 8 1
A onClientResponse() 0 13 1
A onClientFault() 0 9 1
A getSubscribedEvents() 0 8 1
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 9
    public function __construct(LoggerInterface $logger)
29
    {
30 9
        $this->logger = $logger;
31 9
    }
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 3
    public function onClientFault(FaultEvent $event)
66
    {
67 3
        $this->logger->error(sprintf(
68 3
            '[freshcells/soap-client-bundle] fault "%s" for request "%s" with params %s',
69 3
            $event->getException()->getMessage(),
70 3
            $event->getRequestEvent()->getResource(),
71 3
            print_r($event->getRequestEvent()->getRequest(), true)
72
        ));
73 3
    }
74
75
    /**
76
     * {@inheritdoc}
77
     */
78 3
    public static function getSubscribedEvents()
79
    {
80
        return array(
81 3
            Events::REQUEST  => 'onClientRequest',
82 3
            Events::RESPONSE => 'onClientResponse',
83 3
            Events::FAULT    => 'onClientFault'
84
        );
85
    }
86
}
87