protected function getAjaxUri()
{
$action = $this->arguments['action'];
$arguments = $this->arguments['arguments'];
if ($action === null) {
$action = $this->controllerContext->getRequest()->getControllerActionName();
}
$arguments['@action'] = $action;
if (strlen($this->arguments['format']) > 0) {
$arguments['@format'] = $this->arguments['format'];
}
/** @var $widgetContext WidgetContext */
$widgetContext = $this->controllerContext->getRequest()->getInternalArgument('__widgetContext');
if ($widgetContext === null) {
throw new WidgetContextNotFoundException('Widget context not found in <f:widget.uri>', 1307450639);
}
if ($this->arguments['includeWidgetContext'] === true) {
$serializedWidgetContext = base64_encode(serialize($widgetContext));
$arguments['__widgetContext'] = $this->hashService->appendHmac($serializedWidgetContext);
} else {
$arguments['__widgetId'] = $widgetContext->getAjaxWidgetIdentifier();
}
return '?' . http_build_query($arguments, null, '&');
}