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.

Connection::secure()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 0
dl 0
loc 4
ccs 3
cts 3
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
declare(strict_types = 1);
3
4
namespace Innmind\AMQP\Transport\Protocol\v091\Reader;
5
6
use Innmind\AMQP\{
7
    Transport\Frame\Method,
8
    Transport\Frame\Visitor\ChunkArguments,
9
    Transport\Frame\Value\LongString,
10
    Transport\Frame\Value\ShortString,
11
    Transport\Frame\Value\Table,
12
    Transport\Frame\Value\UnsignedLongInteger,
13
    Transport\Frame\Value\UnsignedOctet,
14
    Transport\Frame\Value\UnsignedShortInteger,
15
    Transport\Protocol\v091\Methods,
16
    Exception\UnknownMethod,
17
};
18
use Innmind\Stream\Readable;
19
use Innmind\Immutable\StreamInterface;
20
21
final class Connection
22
{
23
    /**
24
     * @return StreamInterface<Value>
25
     */
26 118
    public function __invoke(Method $method, Readable $arguments): StreamInterface
27
    {
28
        switch (true) {
29 118
            case Methods::get('connection.start')->equals($method):
30 96
                $chunk = $this->start();
31 96
                break;
32
33 112
            case Methods::get('connection.secure')->equals($method):
34 4
                $chunk = $this->secure();
35 4
                break;
36
37 108
            case Methods::get('connection.tune')->equals($method):
38 94
                $chunk = $this->tune();
39 94
                break;
40
41 104
            case Methods::get('connection.open-ok')->equals($method):
42 94
                $chunk = $this->openOk();
43 94
                break;
44
45 88
            case Methods::get('connection.close')->equals($method):
46 6
                $chunk = $this->close();
47 6
                break;
48
49 82
            case Methods::get('connection.close-ok')->equals($method):
50 80
                $chunk = $this->closeOk();
51 80
                break;
52
53
            default:
54 2
                throw new UnknownMethod($method);
55
        }
56
57 116
        return $chunk($arguments);
58
    }
59
60 96
    private function start(): ChunkArguments
61
    {
62 96
        return new ChunkArguments(
63 96
            UnsignedOctet::class, //major version
64 96
            UnsignedOctet::class, //minor version
65 96
            Table::class, //server properties
66 96
            LongString::class, //mechanisms
67 96
            LongString::class //locales
68
        );
69
    }
70
71 4
    private function secure(): ChunkArguments
72
    {
73 4
        return new ChunkArguments(
74 4
            LongString::class //challenge
75
        );
76
    }
77
78 94
    private function tune(): ChunkArguments
79
    {
80 94
        return new ChunkArguments(
81 94
            UnsignedShortInteger::class, //max channels
82 94
            UnsignedLongInteger::class, //max frame size
83 94
            UnsignedShortInteger::class //heartbeat delay
84
        );
85
    }
86
87 94
    private function openOk(): ChunkArguments
88
    {
89 94
        return new ChunkArguments(
90 94
            ShortString::class //known hosts
91
        );
92
    }
93
94 6
    private function close(): ChunkArguments
95
    {
96 6
        return new ChunkArguments(
97 6
            UnsignedShortInteger::class, //reply code
98 6
            ShortString::class, //reply text
99 6
            UnsignedShortInteger::class, //failing class id
100 6
            UnsignedShortInteger::class //failing method id
101
        );
102
    }
103
104 80
    private function closeOk(): ChunkArguments
105
    {
106 80
        return new ChunkArguments; // no arguments
107
    }
108
}
109