public function onKernelResponse(FilterResponseEvent $event)
{
// $event->isMasterRequest() method was added in Symfony 2.4
if (HttpKernelInterface::MASTER_REQUEST === $event->getRequestType() || $event->getRequest()->attributes->get('_controller') !== $this->exceptionController) {
return;
}
// Status code is not set by the exception controller but only by the
// kernel at the very end.
// So lets use the status code from the flatten exception instead.
$statusCode = $event->getRequest()->attributes->get('exception')->getStatusCode();
$dir = $this->getGifDir($statusCode);
$gif = $this->getRandomGif($dir);
$url = $this->getGifUrl($dir, $gif);
$content = $event->getResponse()->getContent();
$content = preg_replace('/<img alt="Exception detected!" src=".*" \\/>/', sprintf('<img alt="Exception detected!" src="%s" data-gif style="width:145px" />', $url), $content);
$event->getResponse()->setContent($content);
}