Separated events into methods so they can be properly logged by Core.
This commit is contained in:
parent
c09d1a35d5
commit
e3485fa256
|
@ -131,6 +131,37 @@ class WebComponent implements iComponent
|
||||||
self::$willHandleRequest = false;
|
self::$willHandleRequest = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function shutdownEventListener(Event $event)
|
||||||
|
{
|
||||||
|
/** @var Output $output */
|
||||||
|
Logger::logInfo("Parsing output...");
|
||||||
|
$output = Factory::getInstance()->output;
|
||||||
|
$output->display();
|
||||||
|
return $event;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function layoutDisplayEventListener(Event $event)
|
||||||
|
{
|
||||||
|
/** @var $event LayoutDisplayEvent */
|
||||||
|
/** @var Output $output */
|
||||||
|
$output = Factory::getInstance('output');
|
||||||
|
$output->appendOutput($event->contents);
|
||||||
|
$event->setCancelled(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function routerLoadViewAndControllerEventListener(Event $event)
|
||||||
|
{
|
||||||
|
/** @var Input $input */
|
||||||
|
/** @var RouterLoadViewAndControllerEvent $event */
|
||||||
|
$input = Factory::getInstance('input');
|
||||||
|
$methods = $event->viewMethods[Priority::NORMAL];
|
||||||
|
foreach ($methods as $method)
|
||||||
|
$event->addMethod(strtolower($input->method()) . '_' . $method);
|
||||||
|
|
||||||
|
Logger::log("Added input method '" . $input->method() . "' as a prefix to view methods.");
|
||||||
|
return $event;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handle a Web request.
|
* Handle a Web request.
|
||||||
*
|
*
|
||||||
|
@ -151,33 +182,13 @@ class WebComponent implements iComponent
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Set the output to display when shutting down
|
// Set the output to display when shutting down
|
||||||
Events::addListener(function ($event) {
|
Events::addListener([$this, 'shutdownEventListener'], 'coreShutdownEvent', Priority::NORMAL);
|
||||||
/** @var Output $output */
|
|
||||||
Logger::logInfo("Parsing output...");
|
|
||||||
$output = Factory::getInstance()->output;
|
|
||||||
$output->display();
|
|
||||||
return $event;
|
|
||||||
}, 'coreShutdownEvent', Priority::NORMAL);
|
|
||||||
|
|
||||||
// Intercept output of Layout and redirect it to Output
|
// Intercept output of Layout and redirect it to Output
|
||||||
Events::addListener(function($event){
|
Events::addListener([$this, 'layoutDisplayEventListener'], 'layoutDisplayEvent', Priority::NORMAL);
|
||||||
/** @var $event LayoutDisplayEvent */
|
|
||||||
/** @var Output $output */
|
|
||||||
$output = Factory::getInstance('output');
|
|
||||||
$output->appendOutput($event->contents);
|
|
||||||
$event->setCancelled(true);
|
|
||||||
}, 'layoutDisplayEvent', Priority::NORMAL);
|
|
||||||
|
|
||||||
// Add HTTP method prefix to requests to views
|
// Add HTTP method prefix to requests to views
|
||||||
Events::addListener(function($event){
|
Events::addListener([$this, 'routerLoadViewAndControllerEventListener'], 'routerLoadViewAndControllerEvent', Priority::NORMAL);
|
||||||
/** @var Input $input */
|
|
||||||
/** @var RouterLoadViewAndControllerEvent $event */
|
|
||||||
$input = Factory::getInstance('input');
|
|
||||||
$methods = $event->viewMethods[Priority::NORMAL];
|
|
||||||
foreach ($methods as $method)
|
|
||||||
$event->addMethod(strtolower($input->method()) . '_' . $method);
|
|
||||||
return $event;
|
|
||||||
}, 'routerLoadViewAndControllerEvent', Priority::NORMAL);
|
|
||||||
|
|
||||||
// Create an error 500 page when a haltEvent is fired
|
// Create an error 500 page when a haltEvent is fired
|
||||||
Events::addListener([$this, 'haltEventListener'], 'haltExecutionEvent', Priority::NORMAL);
|
Events::addListener([$this, 'haltEventListener'], 'haltExecutionEvent', Priority::NORMAL);
|
||||||
|
|
Loading…
Reference in New Issue