2 declare(strict_types = 1);
18 use Psr\Http\Message\ResponseInterface;
19 use Psr\Http\Message\ServerRequestInterface;
20 use Psr\Http\Server\RequestHandlerInterface as PsrRequestHandlerInterface;
42 trigger_error(self::class .
' will be removed in TYPO3 v10.0. Use ' . EidMiddleware::class .
' instead.', E_USER_DEPRECATED);
51 public function handleRequest(ServerRequestInterface $request): ResponseInterface
53 trigger_error(self::class .
' will be removed in TYPO3 v10.0. Use ' . EidMiddleware::class .
' instead.', E_USER_DEPRECATED);
54 return $this->
handle($request);
65 trigger_error(self::class .
' will be removed in TYPO3 v10.0. Use ' . EidMiddleware::class .
' instead.', E_USER_DEPRECATED);
66 return !empty($request->getQueryParams()[
'eID']) || !empty($request->getParsedBody()[
'eID']);
77 trigger_error(self::class .
' will be removed in TYPO3 v10.0. Use ' . EidMiddleware::class .
' instead.', E_USER_DEPRECATED);
88 public function handle(ServerRequestInterface $request): ResponseInterface
90 trigger_error(self::class .
' will be removed in TYPO3 v10.0. Use ' . EidMiddleware::class .
' instead.', E_USER_DEPRECATED);
95 $response = GeneralUtility::makeInstance(Response::class);
97 $eID = $request->getParsedBody()[
'eID'] ?? $request->getQueryParams()[
'eID'] ??
'';
99 if (empty($eID) || !isset(
$GLOBALS[
'TYPO3_CONF_VARS'][
'FE'][
'eID_include'][$eID])) {
100 return $response->withStatus(404,
'eID not registered');
103 $configuration =
$GLOBALS[
'TYPO3_CONF_VARS'][
'FE'][
'eID_include'][$eID];
106 if (strpos($configuration,
'::') !==
false || is_callable($configuration)) {
108 $dispatcher = GeneralUtility::makeInstance(Dispatcher::class);
109 $request = $request->withAttribute(
'target', $configuration);
110 return $dispatcher->dispatch($request, $response);
113 $scriptPath = GeneralUtility::getFileAbsFileName($configuration);
114 if ($scriptPath ===
'') {
115 throw new Exception(
'Registered eID has invalid script path.', 1416391467);