If you need help solving this exception, you can have a look at the TYPO3 Documentation. There you can find solutions provided by the TYPO3 community. Once you have found a solution to the problem, help others by contributing to the documentation page.
Find a solution for this exception in the TYPO3 Documentation.
$argumentName = $argument->getName(); if ($this->request->hasArgument($argumentName)) { $this->setArgumentValue($argument, $this->request->getArgument($argumentName)); } elseif ($argument->isRequired()) { throw new RequiredArgumentMissingException('Required argument "' . $argumentName . '" is not set for ' . $this->request->getControllerObjectName() . '->' . $this->request->getControllerActionName() . '.', 1298012500); } } }
$callable = [$this, $actionInitializationMethodName]; if (is_callable($callable)) { $callable(); } $this->mapRequestArgumentsToControllerArguments(); // @deprecated since v11, will be removed with v12. $this->controllerContext = $this->buildControllerContext(); $this->view = $this->resolveView(); if ($this->view !== null && method_exists($this, 'initializeView')) {
throw new InfiniteLoopException('Could not ultimately dispatch the request after ' . $dispatchLoopCount . ' iterations. Most probably, a @' . IgnoreValidation::class . ' annotation is missing on re-displaying a form with validation errors.', 1217839467); } $controller = $this->resolveController($request); try { $response = $controller->processRequest($request); if ($response instanceof ForwardResponse) { // The controller action returned an extbase internal Forward response: // Another action should be dispatched. $request = static::buildRequestFromCurrentRequestAndForwardResponse($request, $response);
* @throws InfiniteLoopException */ public function handleRequest(RequestInterface $request) { return $this->dispatcher->dispatch($request); } /** * This request handler can handle any web request.
} // Dispatch the extbase request $requestHandler = $this->requestHandlerResolver->resolveRequestHandler($extbaseRequest); $response = $requestHandler->handleRequest($extbaseRequest); if ($response->getStatusCode() >= 300) { // Avoid caching the plugin when we issue a redirect or error response // This means that even when an action is configured as cachable // we avoid the plugin to be cached, but keep the page cache untouched
public function run(string $content, array $configuration, ?ServerRequestInterface $request = null): string { $request = $request ?? $GLOBALS['TYPO3_REQUEST']; $this->initialize($configuration); return $this->handleFrontendRequest($request); } protected function handleFrontendRequest(ServerRequestInterface $request): string {
// Extensions should either drop the property altogether if they don't need current instance // of ContentObjectRenderer, or set the property to protected and use the setter above. $classObj->cObj = $this; } $content = $callable($content, $conf, $this->getRequest()); } else { $this->getTimeTracker()->setTSlogMessage('Method "' . $parts[1] . '" did not exist in class "' . $parts[0] . '"', LogLevel::ERROR); } } else {
if ($this->cObj->getUserObjectType() === false) { // Come here only if we are not called from $TSFE->processNonCacheableContentPartsAndSubstituteContentMarkers()! $this->cObj->setUserObjectType(ContentObjectRenderer::OBJECTTYPE_USER); } $tempContent = $this->cObj->callUserFunction($conf['userFunc'], $conf, ''); if ($this->cObj->doConvertToUserIntObject) { $this->cObj->doConvertToUserIntObject = false; $content = $this->cObj->cObjGetSingle('USER_INT', $conf); } else {
} // Render content try { $content .= $contentObject->render($configuration); } catch (ContentRenderingException $exception) { // Content rendering Exceptions indicate a critical problem which should not be // caught e.g. when something went wrong with Exception handling itself throw $exception;
$timeTracker->decStackPointer(); } else { $contentObject = $this->getContentObject($name); if ($contentObject) { $content .= $this->render($contentObject, $conf); } } if ($timeTracker->LR) { $timeTracker->pull($content);
if ($timeTracker->LR) { $timeTracker->push('/f:cObject/', '<' . $typoscriptObjectPath); } $timeTracker->incStackPointer(); $content = $contentObjectRenderer->cObjGetSingle($setup[$lastSegment], $setup[$lastSegment . '.'] ?? [], $typoscriptObjectPath); $timeTracker->decStackPointer(); if ($timeTracker->LR) { $timeTracker->pull($content); }
'No Content Object definition found at TypoScript object path "' . $typoscriptObjectPath . '"', 1540246570 ); } $content = self::renderContentObject($contentObjectRenderer, $setup, $typoscriptObjectPath, $lastSegment); if (!isset($GLOBALS['TSFE']) || !($GLOBALS['TSFE'] instanceof TypoScriptFrontendController)) { static::resetFrontendEnvironment(); } return $content;
$array11 = array ( );$arguments7['data'] = $renderingContext->getVariableProvider()->getByPath('data', $array11); $arguments7['table'] = 'tt_content'; $renderChildrenClosure8 = ($arguments7['data'] !== null) ? function() use ($arguments7) { return $arguments7['data']; } : $renderChildrenClosure8; $output6 .= TYPO3\CMS\Fluid\ViewHelpers\CObjectViewHelper::renderStatic($arguments7, $renderChildrenClosure8, $renderingContext); $output6 .= ' '; return $output6;
if (isset($arguments['then'])) { return $arguments['then']; } if (isset($arguments['__thenClosure'])) { return $arguments['__thenClosure'](); } } elseif (!empty($arguments['__elseClosures'])) { $elseIfClosures = isset($arguments['__elseifClosures']) ? $arguments['__elseifClosures'] : []; return static::evaluateElseClosures($arguments['__elseClosures'], $elseIfClosures, $renderingContext);
$renderingContext ); $arguments1['__thenClosure'] = $renderChildrenClosure2; $output0 .= TYPO3Fluid\Fluid\ViewHelpers\IfViewHelper::renderStatic($arguments1, $renderChildrenClosure2, $renderingContext); $output0 .= ' ';
new InvalidSectionException('Section "' . $sectionName . '" does not exist.') ); } $this->startRendering($renderingTypeOnNextLevel, $parsedTemplate, $renderingContext); $output = $parsedTemplate->$methodNameOfSection($renderingContext); $this->stopRendering(); } else { $sections = $parsedTemplate->getVariableContainer()->get('1457379500_sections'); if (!isset($sections[$sectionName])) {
$content = (new $delegate())->render($renderingContext); } elseif ($partial !== null) { $content = $view->renderPartial($partial, $section, $variables, $optional); } elseif ($section !== null) { $content = $view->renderSection($section, $variables, $optional); } elseif (!$optional) { throw new \InvalidArgumentException('ViewHelper f:render called without either argument section, partial, renderable or delegate and optional flag is false'); } // Replace empty content with default value. If default is
), $renderingContext ); $output77 .= TYPO3\CMS\Fluid\ViewHelpers\RenderViewHelper::renderStatic($arguments141, $renderChildrenClosure142, $renderingContext); $output77 .= ' '; // Rendering ViewHelper TYPO3\CMS\Fluid\ViewHelpers\RenderViewHelper
if (isset($arguments['then'])) { return $arguments['then']; } if (isset($arguments['__thenClosure'])) { return $arguments['__thenClosure'](); } } elseif (!empty($arguments['__elseClosures'])) { $elseIfClosures = isset($arguments['__elseifClosures']) ? $arguments['__elseifClosures'] : []; return static::evaluateElseClosures($arguments['__elseClosures'], $elseIfClosures, $renderingContext);
'; return $output161; }; $output3 .= TYPO3Fluid\Fluid\ViewHelpers\IfViewHelper::renderStatic($arguments75, $renderChildrenClosure76, $renderingContext); $output3 .= ' '; return $output3;
* @return string */ public static function renderStatic(array $arguments, \Closure $childClosure, RenderingContextInterface $renderingContext) { return trim(preg_replace('/\\>\\s+\\</', '><', (string)$childClosure())); } }
return $output3; }; $arguments1 = array(); $output0 .= TYPO3Fluid\Fluid\ViewHelpers\SpacelessViewHelper::renderStatic($arguments1, $renderChildrenClosure2, $renderingContext); $output0 .= ' ';
} catch (PassthroughSourceException $error) { return $error->getSource(); } $this->startRendering(self::RENDERING_LAYOUT, $parsedTemplate, $this->baseRenderingContext); $output = $parsedLayout->render($this->baseRenderingContext); $this->stopRendering(); } return $output;
* @return string */ protected function renderFluidView() { return $this->view->render(); } /** * Apply standard wrap to content
$this->view->assignMultiple($variables); $this->renderFluidTemplateAssetsIntoPageRenderer(); $content = $this->renderFluidView(); $content = $this->applyStandardWrapToRenderedContent($content, $conf); $this->view = $parentView; return $content;
} // Render content try { $content .= $contentObject->render($configuration); } catch (ContentRenderingException $exception) { // Content rendering Exceptions indicate a critical problem which should not be // caught e.g. when something went wrong with Exception handling itself throw $exception;
$timeTracker->decStackPointer(); } else { $contentObject = $this->getContentObject($name); if ($contentObject) { $content .= $this->render($contentObject, $conf); } } if ($timeTracker->LR) { $timeTracker->pull($content);
[$name, $conf] = $cF->getVal($key, $this->getTypoScriptFrontendController()->tmpl->setup); $conf = array_replace_recursive($conf, $confOverride); // Getting the cObject $timeTracker->incStackPointer(); $content .= $this->cObjGetSingle($name, $conf, $key); $timeTracker->decStackPointer(); } else { $contentObject = $this->getContentObject($name); if ($contentObject) {
// If no "default" property is available, then an empty string is returned if ($key === 'default' && !isset($conf['default'])) { $theValue = ''; } else { $theValue = $this->cObj->cObjGetSingle($conf[$key], $conf[$key . '.'] ?? [], $key); } if (isset($conf['stdWrap.'])) { $theValue = $this->cObj->stdWrap($theValue, $conf['stdWrap.']); }
} // Render content try { $content .= $contentObject->render($configuration); } catch (ContentRenderingException $exception) { // Content rendering Exceptions indicate a critical problem which should not be // caught e.g. when something went wrong with Exception handling itself throw $exception;
$timeTracker->decStackPointer(); } else { $contentObject = $this->getContentObject($name); if ($contentObject) { $content .= $this->render($contentObject, $conf); } } if ($timeTracker->LR) { $timeTracker->pull($content);
[$name, $conf] = $cF->getVal($key, $this->getTypoScriptFrontendController()->tmpl->setup); $conf = array_replace_recursive($conf, $confOverride); // Getting the cObject $timeTracker->incStackPointer(); $content .= $this->cObjGetSingle($name, $conf, $key); $timeTracker->decStackPointer(); } else { $contentObject = $this->getContentObject($name); if ($contentObject) {
$cObj->parentRecordNumber = $this->cObj->currentRecordNumber; $frontendController->currentRecord = $registerField; $this->cObj->lastChanged($row['tstamp'] ?? 0); $cObj->start($row, $conf['table'], $this->request); $tmpValue = $cObj->cObjGetSingle($renderObjName, $renderObjConf, $renderObjKey); $cobjValue .= $tmpValue; } } }
} // Render content try { $content .= $contentObject->render($configuration); } catch (ContentRenderingException $exception) { // Content rendering Exceptions indicate a critical problem which should not be // caught e.g. when something went wrong with Exception handling itself throw $exception;
$timeTracker->decStackPointer(); } else { $contentObject = $this->getContentObject($name); if ($contentObject) { $content .= $this->render($contentObject, $conf); } } if ($timeTracker->LR) { $timeTracker->pull($content);
continue; } if (!in_array($variableName, $reservedVariables)) { $cObjConf = $variablesToProcess[$variableName . '.'] ?? []; $variables[$variableName] = $this->cObj->cObjGetSingle($cObjType, $cObjConf, 'variables.' . $variableName); } else { throw new \InvalidArgumentException( 'Cannot use reserved name "' . $variableName . '" as variable name in FLUIDTEMPLATE.', 1288095720
$this->setLayoutRootPath($conf); $this->setPartialRootPath($conf); $this->setExtbaseVariables($conf); $this->assignSettings($conf); $variables = $this->getContentObjectVariables($conf); $variables = $this->contentDataProcessor->process($this->cObj, $conf, $variables); $this->view->assignMultiple($variables);
} // Render content try { $content .= $contentObject->render($configuration); } catch (ContentRenderingException $exception) { // Content rendering Exceptions indicate a critical problem which should not be // caught e.g. when something went wrong with Exception handling itself throw $exception;
$timeTracker->decStackPointer(); } else { $contentObject = $this->getContentObject($name); if ($contentObject) { $content .= $this->render($contentObject, $conf); } } if ($timeTracker->LR) { $timeTracker->pull($content);
continue; } if (!in_array($variableName, $reservedVariables)) { $cObjConf = $variablesToProcess[$variableName . '.'] ?? []; $variables[$variableName] = $this->cObj->cObjGetSingle($cObjType, $cObjConf, 'variables.' . $variableName); } else { throw new \InvalidArgumentException( 'Cannot use reserved name "' . $variableName . '" as variable name in FLUIDTEMPLATE.', 1288095720
$this->setLayoutRootPath($conf); $this->setPartialRootPath($conf); $this->setExtbaseVariables($conf); $this->assignSettings($conf); $variables = $this->getContentObjectVariables($conf); $variables = $this->contentDataProcessor->process($this->cObj, $conf, $variables); $this->view->assignMultiple($variables);
} // Render content try { $content .= $contentObject->render($configuration); } catch (ContentRenderingException $exception) { // Content rendering Exceptions indicate a critical problem which should not be // caught e.g. when something went wrong with Exception handling itself throw $exception;
$timeTracker->decStackPointer(); } else { $contentObject = $this->getContentObject($name); if ($contentObject) { $content .= $this->render($contentObject, $conf); } } if ($timeTracker->LR) { $timeTracker->pull($content);
foreach ($sKeyArray as $theKey) { $theValue = $setup[$theKey]; if ((int)$theKey && !str_contains($theKey, '.')) { $conf = $setup[$theKey . '.'] ?? []; $content .= $this->cObjGetSingle($theValue, $conf, $addKey . $theKey); } } return $content; }
* @return string */ protected function generatePageBodyContent(TypoScriptFrontendController $controller): string { $pageContent = $controller->cObj->cObjGet($controller->pSetup) ?: ''; if ($controller->pSetup['wrap'] ?? false) { $pageContent = $controller->cObj->wrap($pageContent, $controller->pSetup['wrap']); } if ($controller->pSetup['stdWrap.'] ?? false) {
protected function generatePageContent(TypoScriptFrontendController $controller, ServerRequestInterface $request): string { // Generate the main content between the <body> tags // This has to be done first, as some additional TSFE-related code could have been written $pageContent = $this->generatePageBodyContent($controller); // If 'disableAllHeaderCode' is set, all the pageRenderer settings are not evaluated if ($controller->config['config']['disableAllHeaderCode'] ?? false) { return $pageContent; }
// Content generation $this->timeTracker->incStackPointer(); $this->timeTracker->push($controller->sPre, 'PAGE'); $controller->content = $this->generatePageContent($controller, $request); $this->timeTracker->pull($this->timeTracker->LR ? $controller->content : ''); $this->timeTracker->decStackPointer();
{ public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { try { $response = $handler->handle($request); } catch (PropagateResponseException $e) { $response = $e->getResponse(); }
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
// Throw away all output that may have happened during bootstrapping by weird extensions ob_clean(); // Initialize output compression if configured $this->initializeOutputCompression(); return $handler->handle($request); } /** * Initialize output compression if configured
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { if ($request->getHeader('ext-events2') !== ['getUriForDay']) { return $handler->handle($request); } $startDate = $this->getStartDateFromRequest($request); if ($startDate === null) {
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { if ($request->getHeader('ext-events2') !== ['getSubCategories']) { return $handler->handle($request); } $categoryUid = (int)($request->getQueryParams()['events2Category'] ?? 0); if ($categoryUid === 0) {
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { if ($request->getHeader('ext-events2') !== ['getLocations']) { return $handler->handle($request); } // Hint: search may fail with "&" in $search $search = trim(htmlspecialchars(strip_tags(
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { if ($request->getHeader('ext-events2') !== ['getDaysForMonth']) { return $handler->handle($request); } $getParameters = $request->getQueryParams();
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
{ $frontendController = $GLOBALS['TSFE']; // check for default handling if (!$frontendController->isGeneratePage() || !isset($request->getQueryParams()[self::namespace])) { return $handler->handle($request); } // prepare rendering overwrite $frontendController->config['config']['debug'] = 0; $frontendController->config['config']['disableAllHeaderCode'] = 1;
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
* @return ResponseInterface */ public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { $response = $handler->handle($request); if ($GLOBALS['TSFE'] instanceof TypoScriptFrontendController) { if ( (!isset($GLOBALS['TSFE']->config['config']['enableContentLengthHeader']) || $GLOBALS['TSFE']->config['config']['enableContentLengthHeader']) && !$GLOBALS['TSFE']->isBackendUserLoggedIn() && !($GLOBALS['TYPO3_CONF_VARS']['FE']['debug'] ?? false)
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
); } } return $handler->handle($request); } protected function getRedirectUri(ServerRequestInterface $request): ?string {
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
$this->convertCharsetRecursivelyToUtf8($parsedBody, $controller->metaCharset); $request = $request->withParsedBody($parsedBody); } } $response = $handler->handle($request); /** * Release TSFE locks. They have been acquired in the above call to controller->getFromCache(). * TSFE locks are usually released by the RequestHandler 'final' middleware.
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
// Make TSFE globally available // @todo deprecate $GLOBALS['TSFE'] once TSFE is retrieved from the // PSR-7 request attribute frontend.controller throughout TYPO3 core $GLOBALS['TSFE'] = $controller; return $handler->handle($request); } }
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
} } $request = $request->withAttribute('noCache', $this->disableCache); return $handler->handle($request); } /** * Filters out the arguments that are necessary for calculating cHash
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
$previewAspect = GeneralUtility::makeInstance(PreviewAspect::class, $isPreview); $this->context->setAspect('frontend.preview', $previewAspect); } return $handler->handle($request); } /** * Simulate dates for preview functionality
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
// merge the PageArguments with the request query parameters $queryParams = array_replace_recursive($request->getQueryParams(), $pageArguments->getArguments()); $request = $request->withQueryParams($queryParams); return $handler->handle($request); } }
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
return new HtmlResponse($content, 200, ['Content-Type' => $contentType]); } } return $handler->handle($request); } /** * Find the proper configuration for the static route in the static route configuration. Mainly:
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
$uri = $requestedUri->withPath(rtrim($requestedUri->getPath(), '/')); return new RedirectResponse($uri, 307); } } return $handler->handle($request); } /** * Checks if the language is allowed in Frontend, if not, check if there is valid BE user
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
if ($this->context->getAspect('frontend.user')->isLoggedIn() && $rateLimiter) { $rateLimiter->reset(); } $response = $handler->handle($request); // Store session data for fe_users if it still exists if ($frontendUser instanceof FrontendUserAuthentication) { $frontendUser->storeSessionData();
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
Bootstrap::loadExtTables(); $this->setBackendUserAspect($GLOBALS['BE_USER']); } $response = $handler->handle($request); // If, when building the response, the user is still available, then ensure that the headers are sent properly if ($this->context->getAspect('backend.user')->isLoggedIn()) { return $this->applyHeadersToResponse($response);
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
) { return GeneralUtility::makeInstance(ErrorController::class)->unavailableAction($request, 'This page is temporarily unavailable.'); } // Continue the regular stack if no maintenance mode is active return $handler->handle($request); } }
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
$request = $request->withAttribute('routing', $routeResult); if ($routeResult->getLanguage() instanceof SiteLanguage) { Locales::setSystemLocaleFromSiteLanguage($routeResult->getLanguage()); } return $handler->handle($request); } }
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
{ $eID = $request->getParsedBody()['eID'] ?? $request->getQueryParams()['eID'] ?? null; if ($eID === null) { return $handler->handle($request); } // Remove any output produced until now ob_clean();
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
*/ public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { $request = $request->withAttribute('normalizedParams', NormalizedParams::createFromRequest($request)); return $handler->handle($request); } }
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
1396795884 ); } return $handler->handle($request); } /** * Checks if the provided host header value matches the trusted hosts pattern.
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
$this->timeTracker->setEnabled($timeTrackingEnabled); $this->timeTracker->start(microtime(true)); $this->timeTracker->push(''); $response = $handler->handle($request); // Finish time tracking $this->timeTracker->pull(); $this->timeTracker->finish();
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
* @return ResponseInterface */ public function handle(ServerRequestInterface $request): ResponseInterface { return $this->tip->handle($request); } /** * Seed the middleware stack with the inner request handler
*/ public function handle(ServerRequestInterface $request): ResponseInterface { try { $response = $this->requestHandler->handle($request); } catch (ImmediateResponseException $exception) { $response = $exception->getResponse(); } return $response;
// Create new request object having applicationType "I am a frontend request" attribute. $request = $request->withAttribute('applicationType', SystemEnvironmentBuilder::REQUESTTYPE_FE); $this->initializeContext(); return parent::handle($request); } /** * Create a PSR-7 Response that redirects to the install tool
* @param callable $execute Deprecated, will be removed in TYPO3 v12.0 */ final public function run(callable $execute = null) { $response = $this->handle(ServerRequestFactory::fromGlobals()); if ($execute !== null) { trigger_error('Custom execution of Application code will be removed in TYPO3 v12.0, use PSR-15 Middlewares instead.', E_USER_DEPRECATED); $execute(); }
// Set up the application for the frontend call_user_func(static function () { $classLoader = require __DIR__.'/vendor/autoload.php'; \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::run(0, \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::REQUESTTYPE_FE); \TYPO3\CMS\Core\Core\Bootstrap::init($classLoader)->get(\TYPO3\CMS\Frontend\Http\Application::class)->run(); });
call_user_func(static function () { $classLoader = require __DIR__.'/vendor/autoload.php'; \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::run(0, \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::REQUESTTYPE_FE); \TYPO3\CMS\Core\Core\Bootstrap::init($classLoader)->get(\TYPO3\CMS\Frontend\Http\Application::class)->run(); });