MWHttpRequest: Restore ability to pass null for $options

Prior to 3de744597e, it was possible to pass `null` for $options.
Restore that by setting the default type to be null, and explicitly
document that null is a supported value in the doc block.

Also update the signature of MWHttpRequestTester to match.

Change-Id: I74d586afa5527e0a30ea99f3989f4dd12fa9fea1
This commit is contained in:
Kunal Mehta 2018-02-06 13:05:02 -08:00
parent d9c25c2f47
commit 449e31a179
2 changed files with 6 additions and 3 deletions

View file

@ -175,13 +175,16 @@ abstract class MWHttpRequest implements LoggerAwareInterface {
* Generate a new request object
* Deprecated: @see HttpRequestFactory::create
* @param string $url Url to use
* @param array $options (optional) extra params to pass (see Http::request())
* @param array|null $options (optional) extra params to pass (see Http::request())
* @param string $caller The method making this request, for profiling
* @throws DomainException
* @return MWHttpRequest
* @see MWHttpRequest::__construct
*/
public static function factory( $url, array $options = [], $caller = __METHOD__ ) {
public static function factory( $url, array $options = null, $caller = __METHOD__ ) {
if ( $options === null ) {
$options = [];
}
return \MediaWiki\MediaWikiServices::getInstance()
->getHttpRequestFactory()
->create( $url, $options, $caller );

View file

@ -510,7 +510,7 @@ class HttpTest extends MediaWikiTestCase {
class MWHttpRequestTester extends MWHttpRequest {
// function derived from the MWHttpRequest factory function but
// returns appropriate tester class here
public static function factory( $url, $options = null, $caller = __METHOD__ ) {
public static function factory( $url, array $options = null, $caller = __METHOD__ ) {
if ( !Http::$httpEngine ) {
Http::$httpEngine = function_exists( 'curl_init' ) ? 'curl' : 'php';
} elseif ( Http::$httpEngine == 'curl' && !function_exists( 'curl_init' ) ) {