/** * @param RequestResponseEvent $event */ public function listen(RequestResponseEvent $event) { $request = $event->getRequest(); $response = $event->getResponse(); if ($response instanceof BinaryFileResponse) { return; } if ($request->isXmlHttpRequest()) { //handle with ajax $debugBar = $this->container['debug_bar.debug_bar']; $response->headers->add($debugBar->getDataAsHeaders()); } else { //replace http response if ($response->headers->get('content-type') && $response->headers->get('content-type') != 'text/html') { return; } $debugBar = $this->container['debug_bar.debug_bar']; $renderer = $debugBar->getJavascriptRenderer(); /* @var $renderer \DebugBar\JavascriptRenderer */ $renderer->setBaseUrl('/public/debugbar'); $body = $event->getResponse()->getContent(); $body = str_ireplace(array('</head>', '</body>'), array($renderer->renderHead() . PHP_EOL . '</head>', $renderer->render() . PHP_EOL . '</body>'), $body); $response->setContent($body); } }
public function response(RequestResponseEvent $event) { $request = $event->getResponse(); if ($request instanceof Request) { $this->getTimeCollector()->stopMeasure('request_' . spl_object_hash($request)); } }