MediaWiki master
|
Class to handle multiple HTTP requests. More...
Inherits LoggerAwareInterface.
Public Member Functions | |
__construct (array $options) | |
Since 1.35, callers should use HttpRequestFactory::createMultiClient() to get a client object with appropriately configured timeouts instead of constructing a MultiHttpClient directly. | |
__destruct () | |
run (array $req, array $opts=[]) | |
Execute an HTTP(S) request. | |
runMulti (array $reqs, array $opts=[]) | |
Execute a set of HTTP(S) requests. | |
setLogger (LoggerInterface $logger) | |
Register a logger. | |
Protected Member Functions | |
getCurlHandle (array &$req, array $opts) | |
getCurlMulti (array $opts) | |
isCurlEnabled () | |
Determines if the curl extension is available. | |
Protected Attributes | |
string null | $caBundlePath |
SSL certificates path. | |
resource object null | $cmh = null |
@phpcs:ignore MediaWiki.Commenting.PropertyDocumentation.ObjectTypeHintVar curl_multi_init() handle, initialized in getCurlMulti() | |
float | $connTimeout = 10 |
array | $headers = [] |
string false | $localProxy = false |
string[] | $localVirtualHosts = [] |
LoggerInterface | $logger |
int | $maxConnsPerHost = 50 |
float | $maxConnTimeout = INF |
float | $maxReqTimeout = INF |
string null | $proxy |
float | $reqTimeout = 30 |
bool | $usePipelining = false |
string | $userAgent = 'wikimedia/multi-http-client v1.1' |
Class to handle multiple HTTP requests.
If curl is available, requests will be made concurrently. Otherwise, they will be made serially.
HTTP request maps are arrays that use the following format:
Since 1.35, callers should use HttpRequestFactory::createMultiClient() to get a client object with appropriately configured timeouts.
Definition at line 58 of file MultiHttpClient.php.
Wikimedia\Http\MultiHttpClient::__construct | ( | array | $options | ) |
Since 1.35, callers should use HttpRequestFactory::createMultiClient() to get a client object with appropriately configured timeouts instead of constructing a MultiHttpClient directly.
array | $options |
|
\Exception
Definition at line 121 of file MultiHttpClient.php.
Wikimedia\Http\MultiHttpClient::__destruct | ( | ) |
Definition at line 853 of file MultiHttpClient.php.
|
protected |
array | &$req | HTTP request map @phpcs:ignore Generic.Files.LineLength |
array | $opts |
|
\Exception
Definition at line 362 of file MultiHttpClient.php.
References $header, Wikimedia\Http\MultiHttpClient\$headers, $matches, $url, and Wikimedia\Http\MultiHttpClient\$userAgent.
|
protected |
array | $opts | @phpcs:ignore MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn |
\Exception
Definition at line 495 of file MultiHttpClient.php.
References Wikimedia\Http\MultiHttpClient\$cmh, and Wikimedia\Http\MultiHttpClient\$maxConnsPerHost.
|
protected |
Determines if the curl extension is available.
Definition at line 237 of file MultiHttpClient.php.
Referenced by Wikimedia\Http\MultiHttpClient\runMulti().
Wikimedia\Http\MultiHttpClient::run | ( | array | $req, |
array | $opts = [] ) |
Execute an HTTP(S) request.
This method returns a response map of:
array | $req | HTTP request array |
array | $opts |
Definition at line 164 of file MultiHttpClient.php.
References Wikimedia\Http\MultiHttpClient\runMulti().
Wikimedia\Http\MultiHttpClient::runMulti | ( | array | $reqs, |
array | $opts = [] ) |
Execute a set of HTTP(S) requests.
If curl is available, requests will be made concurrently. Otherwise, they will be made serially.
The maps are returned by this method with the 'response' field set to a map of:
array[] | $reqs | Map of HTTP request arrays |
array | $opts | Options
|
\Exception
Definition at line 199 of file MultiHttpClient.php.
References Wikimedia\Http\MultiHttpClient\$connTimeout, Wikimedia\Http\MultiHttpClient\$maxConnTimeout, Wikimedia\Http\MultiHttpClient\$maxReqTimeout, Wikimedia\Http\MultiHttpClient\$reqTimeout, and Wikimedia\Http\MultiHttpClient\isCurlEnabled().
Referenced by Wikimedia\Http\MultiHttpClient\run().
Wikimedia\Http\MultiHttpClient::setLogger | ( | LoggerInterface | $logger | ) |
Register a logger.
Definition at line 849 of file MultiHttpClient.php.
|
protected |
SSL certificates path.
Definition at line 67 of file MultiHttpClient.php.
|
protected |
@phpcs:ignore MediaWiki.Commenting.PropertyDocumentation.ObjectTypeHintVar curl_multi_init() handle, initialized in getCurlMulti()
Definition at line 65 of file MultiHttpClient.php.
Referenced by Wikimedia\Http\MultiHttpClient\getCurlMulti().
|
protected |
Definition at line 69 of file MultiHttpClient.php.
Referenced by Wikimedia\Http\MultiHttpClient\runMulti().
|
protected |
Definition at line 90 of file MultiHttpClient.php.
Referenced by Wikimedia\Http\MultiHttpClient\getCurlHandle().
|
protected |
Definition at line 83 of file MultiHttpClient.php.
|
protected |
Definition at line 85 of file MultiHttpClient.php.
|
protected |
Definition at line 89 of file MultiHttpClient.php.
|
protected |
Definition at line 79 of file MultiHttpClient.php.
Referenced by Wikimedia\Http\MultiHttpClient\getCurlMulti().
|
protected |
Definition at line 71 of file MultiHttpClient.php.
Referenced by Wikimedia\Http\MultiHttpClient\runMulti().
|
protected |
Definition at line 75 of file MultiHttpClient.php.
Referenced by Wikimedia\Http\MultiHttpClient\runMulti().
|
protected |
Definition at line 81 of file MultiHttpClient.php.
|
protected |
Definition at line 73 of file MultiHttpClient.php.
Referenced by Wikimedia\Http\MultiHttpClient\runMulti().
|
protected |
Definition at line 77 of file MultiHttpClient.php.
|
protected |
Definition at line 87 of file MultiHttpClient.php.
Referenced by Wikimedia\Http\MultiHttpClient\getCurlHandle().