68 'Request has already been sent cannot '.__METHOD__
73 'As a CAS_Request_CurlMultiRequest, I can only work with CAS_Request_CurlRequest objects.' 77 $this->_requests[] = $request;
90 'Request has already been sent cannot '.__METHOD__
93 return count($this->_requests);
111 'Request has already been sent cannot send again.' 114 if (!count($this->_requests)) {
116 'At least one request must be added via addRequest() before the multi-request can be sent.' 124 $multiHandle = curl_multi_init();
125 foreach ($this->_requests as $i => $request) {
126 $handle = $request->initAndConfigure();
127 curl_setopt($handle, CURLOPT_RETURNTRANSFER,
true);
128 $handles[$i] = $handle;
129 curl_multi_add_handle($multiHandle, $handle);
134 curl_multi_exec($multiHandle, $running);
135 }
while ($running > 0);
138 foreach ($this->_requests as $i => $request) {
139 $buf = curl_multi_getcontent($handles[$i]);
140 $request->_storeResponseBody($buf);
141 curl_multi_remove_handle($multiHandle, $handles[$i]);
142 curl_close($handles[$i]);
145 curl_multi_close($multiHandle);
addRequest(CAS_Request_RequestInterface $request)