/**
* Checks if the optionally given node context path, affected node context path and typoscript path are set
* and overrides the rendering to use those. Will also add a "X-Neos-AffectedNodePath" header in case the
* actually affected node is different from the one routing resolved.
* This is used in out of band rendering for the backend.
*
* @return void
* @throws NodeNotFoundException
*/
protected function overrideViewVariablesFromInternalArguments()
{
if (($nodeContextPath = $this->request->getInternalArgument('__nodeContextPath')) !== null) {
$node = $this->propertyMapper->convert($nodeContextPath, NodeInterface::class);
if (!$node instanceof NodeInterface) {
throw new NodeNotFoundException(sprintf('The node with context path "%s" could not be resolved', $nodeContextPath), 1437051934);
}
$this->view->assign('value', $node);
}
if (($affectedNodeContextPath = $this->request->getInternalArgument('__affectedNodeContextPath')) !== null) {
$this->response->setHeader('X-Neos-AffectedNodePath', $affectedNodeContextPath);
}
if (($typoScriptPath = $this->request->getInternalArgument('__typoScriptPath')) !== null) {
$this->view->setTypoScriptPath($typoScriptPath);
}
}