12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- <?php
- namespace Symfony\Component\HttpKernel\Debug;
- use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher as BaseTraceableEventDispatcher;
- use Symfony\Component\EventDispatcher\Event;
- use Symfony\Component\HttpKernel\KernelEvents;
- class TraceableEventDispatcher extends BaseTraceableEventDispatcher
- {
-
- protected function preDispatch($eventName, Event $event)
- {
- switch ($eventName) {
- case KernelEvents::REQUEST:
- $this->stopwatch->openSection();
- break;
- case KernelEvents::VIEW:
- case KernelEvents::RESPONSE:
-
- if ($this->stopwatch->isStarted('controller')) {
- $this->stopwatch->stop('controller');
- }
- break;
- case KernelEvents::TERMINATE:
- $token = $event->getResponse()->headers->get('X-Debug-Token');
-
-
-
-
-
- try {
- $this->stopwatch->openSection($token);
- } catch (\LogicException $e) {
- }
- break;
- }
- }
-
- protected function postDispatch($eventName, Event $event)
- {
- switch ($eventName) {
- case KernelEvents::CONTROLLER_ARGUMENTS:
- $this->stopwatch->start('controller', 'section');
- break;
- case KernelEvents::RESPONSE:
- $token = $event->getResponse()->headers->get('X-Debug-Token');
- $this->stopwatch->stopSection($token);
- break;
- case KernelEvents::TERMINATE:
-
-
- $token = $event->getResponse()->headers->get('X-Debug-Token');
- try {
- $this->stopwatch->stopSection($token);
- } catch (\LogicException $e) {
- }
- break;
- }
- }
- }
|