Skip to content
Snippets Groups Projects
user avatar
Christian Kuhn authored
The patch changes the extbase Mvc/Request to implement
PSR-7 ServerRequestInterface: The former extbase request
details like 'controllerAction' are changed to an
PSR-7 attribute and the Request class is now a
decorator - it receives the original PSR-7 request
as constructor argument, then implements both the
extbase RequestInterface plus PSR-7 ServerRequestInterface.

This way, the Request object itself does not hold
state (except the original request), but channels
all get* and with* calls to the PSR-7 request object.
This avoids creating a new standalone object and moving
all data from the PSR-7 object into the new object.

The patch is relatively conservative. The extbase
related set* methods are kept even though they're
all @internal and violate immutability, and various
method signatures are not adapted towards strict
typing, yet. The reason for that are various
chain- and loop dependencies especially in fluid view
that should be solved with single patches before extbase
Request can be streamlined further. Current usages also
rely on fallback layers within __construct(), which can
be solved when consuming places are adapted - The patch
would have become much bigger if that would be mixed in.

Change-Id: I218de0ee30d16245e7d562d0aba2795ccc439901
Resolves: #94428
Releases: master
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69545


Tested-by: default avatarcore-ci <typo3@b13.com>
Tested-by: default avatarOliver Bartsch <bo@cedev.de>
Tested-by: default avatarBenni Mack <benni@typo3.org>
Reviewed-by: default avatarOliver Bartsch <bo@cedev.de>
Reviewed-by: default avatarBenni Mack <benni@typo3.org>
8fde6812
Name Last commit Last update