Runner   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 11
c 2
b 0
f 0
dl 0
loc 21
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A run() 0 10 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Furious\HttpRunner;
6
7
use Psr\Http\Message\ResponseInterface;
8
9
final class Runner implements RunnerInterface
10
{
11
    private Checker $checker;
12
    private Emitter $emitter;
13
14
    public function __construct()
15
    {
16
        $this->checker = new Checker();
17
        $this->emitter = new Emitter();
18
    }
19
20
    public function run(ResponseInterface $response): bool
21
    {
22
        $this->checker->checkHeadersAlreadySent();
23
        $this->checker->checkOutputAlreadyWrote();
24
25
        $this->emitter->emitHeaders($response);
26
        $this->emitter->emitStatusLine($response);
27
        $this->emitter->emitBody($response);
28
29
        return true;
30
    }
31
}