GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Passed
Pull Request — master (#289)
by Asmir
03:33
created

Logger   A

Complexity

Total Complexity 16

Size/Duplication

Total Lines 103
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 30
dl 0
loc 103
rs 10
c 1
b 0
f 0
wmc 16

6 Methods

Rating   Name   Duplication   Size   Complexity  
A hasMessages() 0 3 2
A clear() 0 3 1
A __construct() 0 3 1
A getMessages() 0 3 1
B log() 0 30 9
A addTransferTimeByRequestId() 0 4 2
1
<?php
2
3
namespace EightPoints\Bundle\GuzzleBundle\Log;
4
5
use Namshi\Cuzzle\Formatter\CurlFormatter;
6
use Psr\Log\LoggerTrait;
7
8
class Logger implements LoggerInterface
9
{
10
    const LOG_MODE_NONE = 0;
11
    const LOG_MODE_REQUEST = 1;
12
    const LOG_MODE_REQUEST_AND_RESPONSE_HEADERS = 2;
13
    const LOG_MODE_ALL = 3;
14
15
    use LoggerTrait;
16
17
    /** @var \EightPoints\Bundle\GuzzleBundle\Log\LogMessage[] */
18
    private $messages = [];
19
20
    /**
21
     * @var int
22
     */
23
    private $logMode;
24
25
    public function __construct(int $logMode)
26
    {
27
        $this->logMode = $logMode;
28
    }
29
30
    /**
31
     * Log message
32
     *
33
     * @param string $level
34
     * @param string $message
35
     * @param array  $context
36
     *
37
     * @return void
38
     */
39
    public function log($level, $message, array $context = [])
40
    {
41
        $requestId = isset($context['requestId']) ? $context['requestId'] : uniqid('eight_points_guzzle_');
42
43
        if (array_key_exists($requestId, $this->messages)) {
44
            $logMessage = $this->messages[$requestId];
45
        } else {
46
            $logMessage = new LogMessage($message);
47
        }
48
49
        $logMessage->setLevel($level);
50
51
        if (!empty($context)) {
52
            if (!empty($context['request']) && $this->logMode > self::LOG_MODE_NONE) {
53
                $logMessage->setRequest(new LogRequest($context['request']));
54
55
                if (class_exists(CurlFormatter::class)) {
56
                    $logMessage->setCurlCommand((new CurlFormatter())->format($context['request']));
57
                }
58
            }
59
60
            if (!empty($context['response']) && $this->logMode > self::LOG_MODE_REQUEST) {
61
                $logMessage->setResponse(new LogResponse(
62
                    $context['response'],
63
                    $this->logMode > self::LOG_MODE_REQUEST_AND_RESPONSE_HEADERS
64
                ));
65
            }
66
        }
67
68
        $this->messages[$requestId] = $logMessage;
69
    }
70
71
    /**
72
     * Clear messages list
73
     *
74
     * @return void
75
     */
76
    public function clear() : void
77
    {
78
        $this->messages = [];
79
    }
80
81
    /**
82
     * Return if messages exist or not
83
     *
84
     * @return boolean
85
     */
86
    public function hasMessages() : bool
87
    {
88
        return $this->getMessages() ? true : false;
89
    }
90
91
    /**
92
     * Return log messages
93
     *
94
     * @return \EightPoints\Bundle\GuzzleBundle\Log\LogMessage[]
95
     */
96
    public function getMessages() : array
97
    {
98
        return $this->messages;
99
    }
100
101
    /**
102
     * @param string|null $requestId
103
     * @param float $transferTime
104
     *
105
     * @return void
106
     */
107
    public function addTransferTimeByRequestId(?string $requestId, float $transferTime) : void
108
    {
109
        if (array_key_exists($requestId, $this->messages)) {
110
            $this->messages[$requestId]->setTransferTime($transferTime);
111
        }
112
    }
113
}
114