public function handle(ComponentContext $componentContext)
{
$httpRequest = $componentContext->getHttpRequest();
$widgetContext = $this->extractWidgetContext($httpRequest);
if ($widgetContext === null) {
return;
}
/** @var $actionRequest ActionRequest */
$actionRequest = $this->objectManager->get(\Neos\Flow\Mvc\ActionRequest::class, $httpRequest);
$actionRequest->setArguments($this->mergeArguments($httpRequest, array()));
$actionRequest->setArgument('__widgetContext', $widgetContext);
$actionRequest->setControllerObjectName($widgetContext->getControllerObjectName());
$this->setDefaultControllerAndActionNameIfNoneSpecified($actionRequest);
$this->securityContext->setRequest($actionRequest);
$this->dispatcher->dispatch($actionRequest, $componentContext->getHttpResponse());
// stop processing the current component chain
$componentContext->setParameter(\Neos\Flow\Http\Component\ComponentChain::class, 'cancel', true);
}