Completed
Push — director-middleware ( f3cb14...77371e )
by Sam
09:01
created

FlushMiddleware::process()   A

Complexity

Conditions 3
Paths 2

Size

Total Lines 10
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 3
eloc 5
nc 2
nop 2
dl 0
loc 10
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace SilverStripe\Control;
4
5
use SilverStripe\Core\Flushable;
6
use SilverStripe\Core\ClassInfo;
7
8
/**
9
 * Triggers a call to flush() on all implementors of Flushable.
10
 */
11
class FlushMiddleware implements HTTPMiddleware
12
{
13
    public function process(HTTPRequest $request, callable $delegate)
14
    {
15
        if (array_key_exists('flush', $request->getVars())) {
16
            foreach (ClassInfo::implementorsOf(Flushable::class) as $class) {
17
                $class::flush();
18
            }
19
        }
20
21
        return $delegate($request);
22
    }
23
}
24