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

FlushMiddleware   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 13
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 0
Metric Value
dl 0
loc 13
rs 10
c 0
b 0
f 0
wmc 3
lcom 0
cbo 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A process() 0 10 3
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