.. include:: /Includes.rst.txt .. _breaking-70056: ===================================================================== Breaking: #70056 - Http-related options and HttpRequest class removed ===================================================================== See :issue:`70056` Description =========== The following PHP classes have been removed: * :php:`TYPO3\CMS\Core\Http\HttpRequest` * :php:`TYPO3\CMS\Core\Http\Observer\Download` The following configuration options have been removed: * :php:`$GLOBALS[TYPO3_CONF_VARS][SYS][curlUse]` * :php:`$GLOBALS[TYPO3_CONF_VARS][SYS][curlProxyNTLM]` * :php:`$GLOBALS[TYPO3_CONF_VARS][SYS][curlProxyServer]` * :php:`$GLOBALS[TYPO3_CONF_VARS][SYS][curlProxyTunnel]` * :php:`$GLOBALS[TYPO3_CONF_VARS][SYS][curlProxyUserPass]` * :php:`$GLOBALS[TYPO3_CONF_VARS][SYS][curlTimeout]` * :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][adapter]` * :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][protocol_version]` * :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][follow_redirects]` * :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][max_redirects]` * :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][strict_redirects]` * :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][proxy_host]` * :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][proxy_port]` * :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][proxy_user]` * :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][proxy_password]` * :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][proxy_auth_scheme]` * :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][ssl_verify_peer]` * :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][ssl_verify_host]` * :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][ssl_cafile]` * :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][ssl_capath]` * :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][ssl_local_cert]` * :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][ssl_passphrase]` * :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][userAgent]` The following properties have been renamed: * :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][userAgent]` is now called :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][headers][User-Agent]` * :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][protocol_version]` is now called :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][version]` * All proxy-related options are unified within :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][proxy]` * All redirect-related options (HTTP/follow_redirects, HTTP/max_redirects, HTTP/strict_redirects) are unified within :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][allow_redirects]` * All options related to SSL private keys (HTTP/ssl_local_cert, HTTP/ssl_passphrase) are merged into :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][ssl_key]` * All options related to verify SSL peers are merged into :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][verify]` Additionally, the dependency to the PEAR Package "Http_Request2" (composer package name `pear/http_request2`) has been removed in favor of the PHP library Guzzle. Impact ====== Calling the mentioned classes above will result in a fatal PHP error. Using the options in custom PHP code will result in unexpected behavior as the options are non-existent and empty. Using PHP code that depends on the removed PEAR library "Http_Request2" will result in unexpected behaviour and possibly a fatal PHP error. Affected Installations ====================== All 3rd party extensions calling the mentioned classes directly or using the configuration options directly, as well as installations depending on the PEAR library "Http_Request2". Migration ========= For PHP code previously using the `HttpRequest` and `Download` classes a new object-oriented PSR-7-based approach is introduced, see the Guzzle Feature integration documentation for more details. A new PHP class `TYPO3\CMS\Core\Http\RequestFactory` which generates PSR-7 compliant request objects helps in simplifying the migration process. All still necessary options will be migrated to new options within :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP]` when the install tool is run. In special cases, the options :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][ssl_verify_host]`, :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][proxy_auth_scheme]` and :php:`$GLOBALS[TYPO3_CONF_VARS][HTTP][proxy_host]` need to migrated manually to the newly available options. .. index:: PHP-API, LocalConfiguration