Prepare for sending
RequestInterface $request Request to prepare:
protected function beforeSend(RequestInterface $request) {
try {
$request
->setState(RequestInterface::STATE_TRANSFER);
$request
->dispatch('request.before_send', array(
'request' => $request,
));
if ($request
->getState() != RequestInterface::STATE_TRANSFER) {
// Requests might decide they don't need to be sent just before transfer (e.g. CachePlugin)
$this
->remove($request);
}
elseif ($request
->getParams()
->get('queued_response')) {
// Queued responses do not need to be sent using curl
$this
->remove($request);
$request
->setState(RequestInterface::STATE_COMPLETE);
}
else {
// Add the request's curl handle to the multi handle
$this
->checkCurlResult(curl_multi_add_handle($this->multiHandle, $this
->createCurlHandle($request)
->getHandle()));
}
} catch (\Exception $e) {
$this
->removeErroredRequest($request, $e);
}
}