Skip to content
Snippets Groups Projects
Commit 8fde6812 authored by Christian Kuhn's avatar Christian Kuhn Committed by Benni Mack
Browse files

[FEATURE] Extbase Request implements ServerRequestInterface

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>
parent 6449b06b
No related merge requests found
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment