Feature: #94428 - Extbase Request implements ServerRequestInterface

See forge#94428

Description

The Extbase TYPO3\CMS\Extbase\Mvc\Request now implements the PSR-7 ServerRequestInterface and thus holds all request related information of the main Core request in addition to the plugin namespace specific Extbase arguments.

Impact

This allows getting information of the main request especially within Extbase controllers from $this->request.

Developers of Fluid ViewHelpers can now retrieve the main PSR-7 request in many contexts from $renderingContext->getRequest(), in addition to the Extbase specific information specified by TYPO3\CMS\Extbase\Mvc\Request\RequestInterface.

Note that with future patches, the request assigned to ViewHelper RenderingContext may NOT implement Extbase TYPO3\CMS\Extbase\Mvc\Request\RequestInterface anymore, and only PSR-7 ServerRequestInterface. This will be the case when the ViewHelper is not called from within an Extbase plugin, but when Fluid is started as "standalone view" in non-extbase based plugins: Often in backend scenarios like toolbars, doc headers, non-extbase modules, etc. Extensions should thus test for instance of Extbase RequestInterface if they don't know the context and rely on Extbase specific request data.