Feature #35243
HTTP 1.1 Support – Foundations
Status: | Resolved | Start date: | 2012-03-26 | |
---|---|---|---|---|
Priority: | Must have | Due date: | ||
Assigned To: | Robert Lemke | % Done: | 100% |
|
Category: | Http | |||
Target version: | TYPO3 Flow Base Distribution - 1.1 | |||
PHP Version: | 5.3 | Complexity: | hard | |
Has patch: | No |
Description
In order to cleanly separate between the domain of HTTP and that of the MVC framework, it is necessary to split up the request handling which is currently located in the MVC sub package of FLOW3. Two parts should be the result: a new Http sub package which is closely modeled after the HTTP 1.1 and related specs and the Mvc sub package which addresses the aspect of routing, action requests and their dispatching to the respective controllers.
Related issues
Associated revisions
[FEATURE] HTTP Client for Functional Testing
This adds a virtual HTTP client which supports pluggable request engines
for different purposes. The first scenario in which we'll use this new
"Browser" is for seamless functional testing of controllers and other
features which should be tested through the whole request / response
chain.
The FunctionalTestCase now provides a new class property called
"testableHttpEnabled" which, if set to TRUE, initializes a new browser
for each test and provides it as $this->browser.
Also adds a bunch of functional tests for the MVC ActionController using
this new feature.
Resolves: #35706
Related: #35243
Releases: 1.1
Change-Id: Idb1b9b8eb6aedf2c5540ac309c264d9b3bd26a84
[!!!][FEATURE] HTTP 1.1 Support – Foundations
This commit contains the foundations for a better HTTP support in
FLOW3. It extracts request and response handling into a dedicated
sub package "Http" and clearly distinguishes between HTTP requests
and "action requests".
While this change set does contain a few new features which are
related to HTTP support, it is by far not complete and rather serves
as a foundation for further features which are following.
Change-Id: I557e6c45cdf20970f9410374aa03ee115e7789cd
Resolves: #35243
Related: #33371
Releases: 1.1
[FEATURE] Introduce HttpRequestHandlerInterface
This new interface identifies request handlers which are
supporting and working with HTTP requests as such and
allows other application parts to retrieve the current HTTP
request.
Change-Id: I8e94e1a94361e7ffd90ce25753cf383b3a81c7bc
Related: #35243
Resolves: #36565
Releases: 1.1
[!!!][TASK] Move baseUri setting from Environment to Http\Request
The Environment class optionally used a setting to specify a fixed
baseUri to be used. With the HTTP foundation this settings was no
longer used (consistently).
If in Settings.yaml the "utility:environment:baseUri" settings was used,
it must be changed to "http:baseUri"!
Change-Id: I7f00559de6e586b17366177730430d0d9984a05e
Fixes: #36397
Related: #35243
Releases: 1.1
[!!!][TASK] Clean up Environment after HTTP refactoring
With the HTTP foundation quite some things from Environment have become
obsolete. The class and it's "users" are adjusted in this change.
The following methods are removed from Environment (check Http\Request
to see if a method you need is available there) with this change:
- setBaseUri
- getHTTP*
- getAcceptedFormats
- getRemoteAddress
- getRemoteHost
- getRequestProtocol
- getRequestUri
- getBaseUri
- getScriptPathAndFileName
- getScriptRequestPathAndFileName
- getScriptRequestPath
- getRequestMethod
- getCommandLineArgumentCount
- getCommandLineArguments
- getSAPIName
- getRawGetArguments
- getRawPostArguments
- getUploadedFiles
- getRawServerEnvironment
Most of those were marked as public API, but we still decided to drop
them, as their use cases were only guesswork.
For some things that used to be available, access to the current request
is now needed. For this, getHttpRequest() was added to the new
HttpRequestHandlerInterface, which returns the current HttpRequest.
Change-Id: I18fe7d44207bd2e170eec72d60d7d92ed91cf152
Resolves: #36340
Related: #35243
Releases: 1.1
[TASK] Remove leftover session dependency from Http\Request
This is actually not used and causes circular dependency problems
in some cases.
Change-Id: I329f7fbaabbe475edb851ea8106ee7dfdf583b1d
Related: #35243
Releases: 1.1
[TASK] Fix RestController to work with HTTP foundation
This fixes RestController to work again with HTTP foundation.
Change-Id: Ibb3d3a328f9e74232597005423a086b860ff66b4
Related: #35243
Releases: 1.1
[TASK] HTTP Request: hasArgument() and getArgument()
This change set provides two new getters for the unified
request arguments.
Change-Id: I847c085cc2b30db099e691805dc0f12c767c6fba
Related: #35243
Releases: 1.1
History
#1 Updated by Gerrit Code Review over 3 years ago
- Status changed from Accepted to Under Review
Patch set 1 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/9880
#2 Updated by Gerrit Code Review over 3 years ago
Patch set 2 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/9880
#3 Updated by Gerrit Code Review over 3 years ago
Patch set 3 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/9880
#4 Updated by Gerrit Code Review over 3 years ago
Patch set 4 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/9880
#5 Updated by Gerrit Code Review over 3 years ago
Patch set 5 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/9880
#6 Updated by Gerrit Code Review over 3 years ago
Patch set 6 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/9880
#7 Updated by Gerrit Code Review over 3 years ago
Patch set 7 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/9880
#8 Updated by Gerrit Code Review over 3 years ago
Patch set 8 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/9880
#9 Updated by Gerrit Code Review over 3 years ago
Patch set 9 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/9880
#10 Updated by Gerrit Code Review over 3 years ago
Patch set 10 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/9880
#11 Updated by Gerrit Code Review over 3 years ago
Patch set 11 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/9880
#12 Updated by Gerrit Code Review over 3 years ago
Patch set 12 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/9880
#13 Updated by Gerrit Code Review over 3 years ago
Patch set 13 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/9880
#14 Updated by Robert Lemke over 3 years ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset 0e05ccc570e5d0a46c860e23d38eec3566e6e36e.