Deprecate the Http class
authorAryeh Gregor <ayg@aryeh.name>
Mon, 15 Apr 2019 13:23:02 +0000 (16:23 +0300)
committerAryeh Gregor <ayg@aryeh.name>
Mon, 6 May 2019 09:07:26 +0000 (12:07 +0300)
commit9018579681d345a0e63854e12ddc87a47bf171f3
tree244508a18e9405541776c14e00016e7b6c306b89
parent427fbee7343c2955ad1e666be6a69c30a2234e11
Deprecate the Http class

All methods got moved to HttpRequestFactory or MWHttpRequest or dropped.

I made the return value of the new HttpRequestFactory::request/get/post
methods null on error instead of false, so that when we drop PHP 7
support, we can use a "?string" return value. This could theoretically
change behavior of code that was switched from the old Http methods, but
probably won't. I kept the old behavior for the deprecated methods.

I changed the default value of $wgHTTPProxy from false to ''. This way
it should be usable directly without a trivial wrapper method. For the
benefit of anyone who might have set it to false in LocalSettings.php, I
also recommend casting to string just in case.

Http::$httpEngine is deprecated. Eventually it will be removed along
with the curl and PHP engines, leaving only the Guzlle engine.

I also added deprecation of MWHttpRequest::factory, which occurred in
1.31, to the release notes for 1.34. Now hopefully we can hard-deprecate
it in another couple of versions.

Bug: T214390
Change-Id: I2a316a758d793857f248bd251b90f5e9a6440e3a
23 files changed:
RELEASE-NOTES-1.34
includes/DefaultSettings.php
includes/Pingback.php
includes/externalstore/ExternalStoreHttp.php
includes/filerepo/ForeignAPIRepo.php
includes/filerepo/file/File.php
includes/filerepo/file/ForeignDBFile.php
includes/http/CurlHttpRequest.php
includes/http/GuzzleHttpRequest.php
includes/http/Http.php
includes/http/HttpRequestFactory.php
includes/http/MWHttpRequest.php
includes/http/PhpHttpRequest.php
includes/import/ImportStreamSource.php
includes/import/ImportableUploadRevisionImporter.php
includes/installer/Installer.php
maintenance/benchmarks/bench_HTTP_HTTPS.php
maintenance/findHooks.php
maintenance/importSiteScripts.php
maintenance/populateInterwiki.php
tests/integration/includes/http/MWHttpRequestTestCase.php
tests/phpunit/includes/filebackend/FileBackendTest.php
tests/phpunit/includes/http/HttpTest.php