コード例 #1
0
ファイル: HttpAsyncPlugin.php プロジェクト: stil/phoebe
 public function __construct()
 {
     $this->queue = new RequestsQueue();
     $this->queue->getDefaultOptions()->set([CURLOPT_RETURNTRANSFER => true, CURLOPT_CONNECTTIMEOUT => 3, CURLOPT_ENCODING => '']);
 }
コード例 #2
0
ファイル: RobotSwarm.php プロジェクト: stil/curl-robot
 /**
  * @return \cURL\Options
  */
 public function getDefaultOptions()
 {
     return $this->queue->getDefaultOptions();
 }
コード例 #3
0
 /**
  * Test requests attaching on run time
  */
 public function testAttachNewOnRuntime()
 {
     $total = 10;
     $test = $this;
     $queue = new cURL\RequestsQueue();
     $queue->getDefaultOptions()->set(CURLOPT_RETURNTRANSFER, true)->set(CURLOPT_ENCODING, '');
     $n = 0;
     $attachNew = function () use($queue, &$n, $total) {
         if ($n < $total) {
             $n++;
             $request = new cURL\Request();
             $request->_param = $n;
             $request->getOptions()->set(CURLOPT_URL, $this->createRequestUrl($n));
             $queue->attach($request);
         }
     };
     $attachNew();
     $queue->addListener('complete', function (cURL\Event $event) use(&$requests, $test, $attachNew) {
         $test->validateSuccesfulResponse($event->response, $event->request->_param);
         $attachNew();
     });
     $queue->send();
     $this->assertEquals($total, $n);
 }