Class CurlMulti
Send Guzzle\Http\Message\RequestInterface
objects in parallel using curl_multi
- Guzzle\Common\AbstractHasDispatcher implements Guzzle\Common\HasDispatcherInterface
- Guzzle\Http\Curl\CurlMulti implements Guzzle\Http\Curl\CurlMultiInterface
Methods summary
-
public
__construct ( mixed $selectTimeout = 1.0 )
-
public
__destruct ( )
-
public
add ( Guzzle\Http\Message\RequestInterface $request )
Add a request to the pool.
-
public
all ( )
Get an array of attached
Guzzle\Http\Message\RequestInterface
objects -
public
remove ( Guzzle\Http\Message\RequestInterface $request )
Remove a request from the pool.
-
public
reset ( bool $hard = false )
Reset the state and remove any attached RequestInterface objects
-
public
send ( )
Send a pool of
Guzzle\Http\Message\RequestInterface
requests. -
public
count ( )
-
protected
throwMultiException ( array $exceptions, array $successful )
Build and throw a MultiTransferException
-
protected
beforeSend ( Guzzle\Http\Message\RequestInterface $request )
Prepare for sending
-
protected
createCurlHandle ( Guzzle\Http\Message\RequestInterface $request )
Create a curl handle for a request
-
protected
perform ( )
Get the data from the multi handle
-
protected
removeErroredRequest ( Guzzle\Http\Message\RequestInterface $request, Exception $e = null )
Remove a request that encountered an exception
-
protected
processResponse ( Guzzle\Http\Message\RequestInterface $request, Guzzle\Http\Curl\CurlHandle $handle, array $curl )
Check for errors and fix headers of a request based on a curl response
-
protected
removeHandle ( Guzzle\Http\Message\RequestInterface $request )
Remove a curl handle from the curl multi object
Methods detail
Add a request to the pool.
Parameters
- $request
Guzzle\Http\Message\RequestInterface
$request Request to add
Returns
Implementation of
Get an array of attached Guzzle\Http\Message\RequestInterface
objects
Returns
array
Implementation of
Remove a request from the pool.
Parameters
- $request
Guzzle\Http\Message\RequestInterface
$request Request to remove
Returns
boolean
Returns true on success or false on failure
Implementation of
Reset the state and remove any attached RequestInterface objects
Parameters
- $hard
boolean
$hard Set to true to close and reopen any open multi handles
Implementation of
Send a pool of Guzzle\Http\Message\RequestInterface
requests.
Throws
ExceptionCollection
if any requests threw exceptions during the transfer.
Implementation of
Implementation of
Build and throw a MultiTransferException
Parameters
- $exceptions
array
$exceptions Exceptions encountered- $successful
array
$successful Successful requests
Throws
Prepare for sending
Parameters
- $request
Guzzle\Http\Message\RequestInterface
$request Request to prepare
Throws
protected
Guzzle\Http\Curl\CurlHandle
createCurlHandle( Guzzle\Http\Message\RequestInterface
$request )
Create a curl handle for a request
Parameters
- $request
Guzzle\Http\Message\RequestInterface
$request Request
Returns
Get the data from the multi handle
protected
removeErroredRequest( Guzzle\Http\Message\RequestInterface
$request, Exception
$e = null )
Remove a request that encountered an exception
Parameters
- $request
Guzzle\Http\Message\RequestInterface
$request Request to remove- $e
Exception
$e Exception encountered
protected
processResponse( Guzzle\Http\Message\RequestInterface
$request, Guzzle\Http\Curl\CurlHandle
$handle, array $curl )
Check for errors and fix headers of a request based on a curl response
Parameters
- $request
Guzzle\Http\Message\RequestInterface
$request Request to process- $handle
Guzzle\Http\Curl\CurlHandle
$handle Curl handle object- $curl
array
$curl Array returned from curl_multi_info_read
Throws
Remove a curl handle from the curl multi object
Parameters
- $request
Guzzle\Http\Message\RequestInterface
$request Request that owns the handle
Methods inherited from Guzzle\Common\AbstractHasDispatcher
addSubscriber()
,
dispatch()
,
getAllEvents()
,
getEventDispatcher()
,
setEventDispatcher()
Magic methods summary
Constants summary
Constants inherited from Guzzle\Http\Curl\CurlMultiInterface
ADD_REQUEST
,
BLOCKING
,
MULTI_EXCEPTION
,
POLLING_REQUEST
,
REMOVE_REQUEST
Properties summary
protected
resource
|
$multiHandle |
#
cURL multi handle. |
protected
array
|
$requests |
#
Attached |
protected
|
$handles |
#
RequestInterface to CurlHandle hash |
protected
array
|
$resourceHash |
#
Hash mapping curl handle resource IDs to request objects |
protected
array
|
$exceptions |
#
Queued exceptions |
protected
array
|
$successful |
#
Requests that succeeded |
protected
array
|
$multiErrors |
#
cURL multi error values and codes |
protected
float
|
$selectTimeout |