Passed
Push — master ( 400934...9d586b )
by Anton
02:32
created

HttpCollectorBootloader::boot()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 3
c 1
b 0
f 0
dl 0
loc 9
rs 10
cc 1
nc 1
nop 4
1
<?php
2
3
/**
4
 * Spiral Framework.
5
 *
6
 * @license   MIT
7
 * @author    Anton Titov (Wolfy-J)
8
 */
9
10
declare(strict_types=1);
11
12
namespace Spiral\Bootloader\Debug;
13
14
use Spiral\Boot\Bootloader\Bootloader;
15
use Spiral\Boot\FinalizerInterface;
16
use Spiral\Bootloader\DebugBootloader;
17
use Spiral\Bootloader\Http\HttpBootloader;
18
use Spiral\Debug\StateCollector\HttpCollector;
19
20
/**
21
 * Describes the user request and it's data.
22
 */
23
final class HttpCollectorBootloader extends Bootloader
24
{
25
    protected const DEPENDENCIES = [
26
        HttpBootloader::class,
27
        DebugBootloader::class
28
    ];
29
30
    protected const SINGLETONS = [
31
        HttpCollector::class => HttpCollector::class
32
    ];
33
34
    /**
35
     * @param HttpCollector      $httpCollector
36
     * @param HttpBootloader     $http
37
     * @param DebugBootloader    $debug
38
     * @param FinalizerInterface $finalizer
39
     */
40
    public function boot(
41
        HttpCollector $httpCollector,
42
        HttpBootloader $http,
43
        DebugBootloader $debug,
44
        FinalizerInterface $finalizer
45
    ): void {
46
        $debug->addStateCollector($httpCollector);
47
        $http->addMiddleware($httpCollector);
48
        $finalizer->addFinalizer([$httpCollector, 'reset']);
49
    }
50
}
51