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 array | $headers = [] |
string false | $localProxy = false |
string[] | $localVirtualHosts = [] |
LoggerInterface | $logger |
int | $maxConnsPerHost = 50 |
float | $maxConnTimeout = INF |
float | $maxReqTimeout = INF |
string null | $proxy |
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 122 of file MultiHttpClient.php.
Wikimedia\Http\MultiHttpClient::__destruct | ( | ) |
Definition at line 809 of file MultiHttpClient.php.
|
protected |
array | &$req | HTTP request map @phpcs:ignore Generic.Files.LineLength |
array | $opts |
|
\Exception
Definition at line 363 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 496 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 238 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 165 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 200 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.
LoggerInterface | $logger |
Definition at line 805 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 91 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 |
proxy
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().