Completed
Pull Request — master (#150)
by
unknown
02:30
created

MockRequestHandler   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 11
c 1
b 0
f 0
dl 0
loc 37
rs 10
wmc 4

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
A setHandleExcaption() 0 3 1
A handle() 0 7 2
1
<?php
2
3
4
namespace Yiisoft\Yii\Web\Tests\Middleware\Mock;
5
6
use Nyholm\Psr7\Response;
7
use Psr\Http\Message\ResponseInterface;
8
use Psr\Http\Message\ServerRequestInterface;
9
use Psr\Http\Server\RequestHandlerInterface;
10
11
class MockRequestHandler implements RequestHandlerInterface
12
{
13
    /**
14
     * @var ServerRequestInterface
15
     */
16
    public $processedRequest;
17
18
    /**
19
     * @var int
20
     */
21
    private $responseStatus;
22
23
    /**
24
     * @var \Throwable|null
25
     */
26
    private $handleException;
27
28
    public function __construct(int $responseStatus = 200)
29
    {
30
        $this->responseStatus = $responseStatus;
31
    }
32
33
    /**
34
     * @return static
35
     */
36
    public function setHandleExcaption(?\Throwable $throwable) {
37
        $this->handleException = $throwable;
38
        return $this;
39
    }
40
41
    public function handle(ServerRequestInterface $request): ResponseInterface
42
    {
43
        if($this->handleException !== null) {
44
            throw $this->handleException;
45
        }
46
        $this->processedRequest = $request;
47
        return new Response($this->responseStatus);
48
    }
49
}
50