Runner::run()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

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