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 ( ) -
publicadd ( Guzzle\Http\Message\RequestInterface $request )Add a request to the pool.
-
publicall ( )Get an array of attached
Guzzle\Http\Message\RequestInterfaceobjects -
publicremove ( Guzzle\Http\Message\RequestInterface $request )Remove a request from the pool.
-
publicreset ( bool $hard = false )Reset the state and remove any attached RequestInterface objects
-
publicsend ( )Send a pool of
Guzzle\Http\Message\RequestInterfacerequests. -
publiccount ( ) -
protectedthrowMultiException ( array $exceptions, array $successful )Build and throw a MultiTransferException
-
protectedbeforeSend ( Guzzle\Http\Message\RequestInterface $request )Prepare for sending
-
protectedcreateCurlHandle ( Guzzle\Http\Message\RequestInterface $request )Create a curl handle for a request
-
protectedperform ( )Get the data from the multi handle
-
protectedremoveErroredRequest ( Guzzle\Http\Message\RequestInterface $request, Exception $e = null )Remove a request that encountered an exception
-
protectedprocessResponse ( 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
-
protectedremoveHandle ( 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
arrayImplementation of
Remove a request from the pool.
Parameters
- $request
Guzzle\Http\Message\RequestInterface
$request Request to remove
Returns
booleanReturns 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
ExceptionCollectionif 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 |