2 declare(strict_types = 1);
18 use Psr\Http\Message\ResponseInterface;
19 use Psr\Http\Message\ServerRequestInterface;
20 use Psr\Http\Server\MiddlewareInterface;
21 use Psr\Http\Server\RequestHandlerInterface;
43 public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
46 $moduleName = $request->getQueryParams()[
'M'] ?? $request->getParsedBody()[
'M'] ??
null;
49 $pathToRoute = $request->getQueryParams()[
'route'] ?? $request->getParsedBody()[
'route'] ?? $moduleName ??
'/login';
51 if ($moduleName !==
null) {
54 $router = GeneralUtility::makeInstance(Router::class);
55 foreach ($router->getRoutes() as $routeIdentifier => $route) {
56 if ($routeIdentifier === $moduleName) {
57 $pathToRoute = $route->getPath();
62 trigger_error(
'Calling the TYPO3 Backend with "M" GET parameter will be removed in TYPO3 v10.0,'
63 .
' the calling code calls this script with "&M=' . $moduleName .
'" and needs to be adapted'
64 .
' to use the TYPO3 API.', E_USER_DEPRECATED);
71 $request = $request->withAttribute(
'routePath', $pathToRoute);
73 return $handler->handle($request);