Code Duplication    Length = 14-19 lines in 3 locations

code/Extension/ControllerExtension.php 3 locations

@@ 16-32 (lines=17) @@
13
 */
14
class ControllerExtension extends Extension
15
{
16
    public function onBeforeInit()
17
    {
18
        DebugBar::withDebugBar(function (\DebugBar\DebugBar $debugbar) {
19
            // We must set the current controller when it's available and before it's pushed out of stack
20
            $debugbar->getCollector('silverstripe')->setController(Controller::curr());
21
22
            /** @var $timeData DebugBar\DataCollector\TimeDataCollector */
23
            $timeData = $debugbar->getCollector('time');
24
            if (!$timeData) {
25
                return;
26
            }
27
            if ($timeData->hasStartedMeasure('pre_request')) {
28
                $timeData->stopMeasure("pre_request");
29
            }
30
            $timeData->startMeasure("init", get_class($this->owner) . ' init');
31
        });
32
    }
33
34
    public function onAfterInit()
35
    {
@@ 42-55 (lines=14) @@
39
            DebugBar::includeRequirements();
40
        }
41
42
        DebugBar::withDebugBar(function (\DebugBar\DebugBar $debugbar) {
43
            /** @var $timeData DebugBar\DataCollector\TimeDataCollector */
44
            $timeData = $debugbar->getCollector('time');
45
            if (!$timeData) {
46
                return;
47
            }
48
            if ($timeData->hasStartedMeasure("cms_init")) {
49
                $timeData->stopMeasure("cms_init");
50
            }
51
            if ($timeData->hasStartedMeasure("init")) {
52
                $timeData->stopMeasure("init");
53
            }
54
            $timeData->startMeasure("handle", get_class($this->owner) . ' handle request');
55
        });
56
    }
57
58
    /**
@@ 106-124 (lines=19) @@
103
     * @param string $action
104
     * @param mixed $result (only in v4.0)
105
     */
106
    public function afterCallActionHandler($request, $action, $result)
107
    {
108
        self::clearBuffer();
109
110
        DebugBar::withDebugBar(function (\DebugBar\DebugBar $debugBar) use ($action) {
111
            /** @var $timeData DebugBar\DataCollector\TimeDataCollector */
112
            $timeData = $debugBar->getCollector('time');
113
            if (!$timeData) {
114
                return;
115
            }
116
            if ($timeData->hasStartedMeasure("action")) {
117
                $timeData->stopMeasure("action");
118
            }
119
            $timeData->startMeasure(
120
                "after_action",
121
                get_class($this->owner) . " after action $action"
122
            );
123
        });
124
    }
125
126
    protected static function clearBuffer()
127
    {