Completed
Push — master ( daed8c...cf758d )
by Damian
08:03
created

TestMiddleware::reset()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 0
dl 0
loc 5
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace SilverStripe\Control\Tests\DirectorTest;
4
5
use SilverStripe\Control\HTTPRequest;
6
use SilverStripe\Control\HTTPResponse;
7
use SilverStripe\Control\Middleware\HTTPMiddleware;
8
use SilverStripe\Dev\TestOnly;
9
10
class TestMiddleware implements HTTPMiddleware, TestOnly
11
{
12
    public $preCalls = 0;
13
    public $postCalls = 0;
14
15
    public $failPre = false;
16
    public $failPost = false;
17
18
    public function process(HTTPRequest $request, callable $delegate)
19
    {
20
        $this->preCalls++;
21
        if ($this->failPre) {
22
            return new HTTPResponse('Fail pre', 400);
23
        }
24
25
        $response = $delegate($request);
26
27
        $this->postCalls++;
28
        if ($this->failPost) {
29
            return new HTTPResponse('Fail post', 500);
30
        }
31
32
        return $response;
33
    }
34
35
    public function reset()
36
    {
37
        $this->preCalls = 0;
38
        $this->postCalls = 0;
39
    }
40
}
41