public function __invoke(ContainerInterface $container)
{
$template = $container->has(TemplateRendererInterface::class) ? $container->get(TemplateRendererInterface::class) : null;
$config = $container->has('config') ? $container->get('config') : [];
$expressiveConfig = isset($config['zend-expressive']['error_handler']) ? $config['zend-expressive']['error_handler'] : [];
$whoopsConfig = isset($config['whoops']) ? $config['whoops'] : [];
$whoops = $container->get('Zend\\Expressive\\Whoops');
$whoops->pushHandler($container->get('Zend\\Expressive\\WhoopsPageHandler'));
$this->registerJsonHandler($whoops, $whoopsConfig);
return new WhoopsErrorHandler($whoops, null, $template, isset($expressiveConfig['template_404']) ? $expressiveConfig['template_404'] : 'error/404', isset($expressiveConfig['template_error']) ? $expressiveConfig['template_error'] : 'error/error');
}