protected function executeEncoder()
{
$this->parseUrlParameters();
// Initialize needs parsed URL parameters!
$this->initialize();
$this->setLanguage();
$this->removeIgnoredUrlParameters();
$this->initializeUrlPrepend();
if (!$this->fetchFromUrlCache()) {
$this->encodePreVars();
try {
$this->encodePathComponents();
} catch (\Exception $exception) {
if ($exception->getCode() === 1343589451) {
// Rootline failure: "Could not fetch page data for uid X"
// Reset and quit. See https://github.com/dmitryd/typo3-realurl/issues/200
$this->encodedUrl = $this->urlToEncode;
return;
}
throw $exception;
}
$this->encodeFixedPostVars();
$this->encodePostVarSets();
$this->handleFileName();
$this->addRemainingUrlParameters();
$this->trimMultipleSlashes();
if ($this->encodedUrl === '') {
$emptyUrlReturnValue = $this->configuration->get('init/emptyUrlReturnValue') ?: '/';
$this->encodedUrl = $emptyUrlReturnValue;
}
$this->storeInUrlCache();
}
$this->reapplyAbsRefPrefix();
$this->callPostEncodeHooks();
$this->encodedUrl = $this->restoreIgnoredUrlParametersInURL($this->encodedUrl);
$this->prepareUrlPrepend();
}