/**
  * Base fallback action.
  * Will be basically used for every legacy module.
  *
  * @return \eZ\Bundle\EzPublishLegacyBundle\LegacyResponse
  */
 public function indexAction()
 {
     $kernelClosure = $this->kernelClosure;
     /** @var \eZ\Publish\Core\MVC\Legacy\Kernel $kernel */
     $kernel = $kernelClosure();
     $legacyMode = $this->configResolver->getParameter('legacy_mode');
     //EmpĂȘche le front d'aller dans de l'eZ legacy
     if (!$legacyMode && substr($this->request->getPathInfo(), 0, 18) != '/content/download/') {
         throw new NotFoundHttpException('Adresse non trouvée');
     }
     $kernel->setUseExceptions(false);
     // Fix up legacy URI with current request since we can be in a sub-request here.
     $this->uriHelper->updateLegacyURI($this->request);
     // If we have a layout for legacy AND we're not in legacy mode, we ask the legacy kernel not to generate layout.
     if (isset($this->legacyLayout) && !$legacyMode) {
         $kernel->setUsePagelayout(false);
     }
     $result = $kernel->run();
     $kernel->setUseExceptions(true);
     if ($result instanceof ezpKernelRedirect) {
         return $this->legacyResponseManager->generateRedirectResponse($result);
     }
     $this->legacyHelper->loadDataFromModuleResult($result->getAttribute('module_result'));
     $response = $this->legacyResponseManager->generateResponseFromModuleResult($result);
     $this->legacyResponseManager->mapHeaders(headers_list(), $response);
     return $response;
 }
    /**
     * @dataProvider generateRedirectResponseProvider
     */
    public function testGenerateRedirectResponse($uri, $redirectStatus, $expectedStatusCode, $content)
    {
        $kernelRedirect = new ezpKernelRedirect($uri, $redirectStatus, $content);
        $manager = new LegacyResponseManager($this->templateEngine, $this->configResolver);
        $response = $manager->generateRedirectResponse($kernelRedirect);
        $uriInContent = htmlspecialchars($uri);
        $expectedContent = <<<EOT
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="refresh" content="1;url={$uriInContent}" />

        <title>Redirecting to {$uriInContent}</title>
    </head>
    <body>
        Redirecting to <a href="{$uriInContent}">{$uriInContent}</a>.
    </body>
</html>
EOT;
        $this->assertInstanceOf('Symfony\\Component\\HttpFoundation\\RedirectResponse', $response);
        $this->assertSame($uri, $response->getTargetUrl());
        $this->assertSame($expectedStatusCode, $response->getStatusCode());
        $this->assertSame($expectedContent, $response->getContent());
    }