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::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
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