This function tries to determine the correct case for the given package key.
If the Package Manager does not know the specified package, the package key
cannot be verified or corrected and is stored as is.
public setControllerPackageKey ( string $packageKey ) : void | ||
$packageKey | string | The package key |
return | void |
/** * @test */ public function setControllerPackageKeyWithLowercasePackageKeyResolvesCorrectly() { $mockPackageManager = $this->createMock(PackageManager::class); $mockPackageManager->expects($this->any())->method('getCaseSensitivePackageKey')->with('acme.testpackage')->will($this->returnValue('Acme.Testpackage')); $this->inject($this->actionRequest, 'packageManager', $mockPackageManager); $this->actionRequest->setControllerPackageKey('acme.testpackage'); $this->assertEquals('Acme.Testpackage', $this->actionRequest->getControllerPackageKey()); }
/** * Prepares a Fluid view for rendering the custom error page. * * @param object $exception \Exception or \Throwable * @param array $renderingOptions Rendering options as defined in the settings * @return ViewInterface */ protected function buildView($exception, array $renderingOptions) { $statusCode = 500; $referenceCode = null; if ($exception instanceof FlowException) { $statusCode = $exception->getStatusCode(); $referenceCode = $exception->getReferenceCode(); } $statusMessage = Response::getStatusMessageByCode($statusCode); $viewClassName = $renderingOptions['viewClassName']; /** @var ViewInterface $view */ $view = $viewClassName::createWithOptions($renderingOptions['viewOptions']); $view = $this->applyLegacyViewOptions($view, $renderingOptions); $httpRequest = Request::createFromEnvironment(); $request = new ActionRequest($httpRequest); $request->setControllerPackageKey('Neos.Flow'); $uriBuilder = new UriBuilder(); $uriBuilder->setRequest($request); $view->setControllerContext(new ControllerContext($request, new Response(), new Arguments([]), $uriBuilder)); if (isset($renderingOptions['variables'])) { $view->assignMultiple($renderingOptions['variables']); } $view->assignMultiple(['exception' => $exception, 'renderingOptions' => $renderingOptions, 'statusCode' => $statusCode, 'statusMessage' => $statusMessage, 'referenceCode' => $referenceCode]); return $view; }