-
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: core-ci <typo3@b13.com> Tested-by: Oliver Bartsch <bo@cedev.de> Tested-by: Benni Mack <benni@typo3.org> Reviewed-by: Oliver Bartsch <bo@cedev.de> Reviewed-by: Benni Mack <benni@typo3.org>
8fde6812
Loading