コード例 #1
0
 public function testRequestBeforeSendIncludesContentLengthHeaderIfEmptyBody()
 {
     $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n");
     $request = new Request('PUT', $this->getServer()->getUrl());
     $that = $this;
     $request->getEventDispatcher()->addListener('request.before_send', function ($event) use($that) {
         $that->assertEquals(0, $event['request']->getHeader('Content-Length'));
     });
     $this->multi->add($request);
     $this->multi->send();
 }
コード例 #2
0
 /**
  * @covers Guzzle\Http\Curl\CurlMulti
  */
 public function testRemovesQueuedRequests()
 {
     $request = RequestFactory::getInstance()->create('GET', 'http://127.0.0.1:9876/');
     $request->setClient(new Client());
     $request->setResponse(new Response(200), true);
     $this->multi->add($request);
     $this->multi->send();
     $this->assertTrue($this->mock->has(CurlMulti::ADD_REQUEST));
     $this->assertTrue($this->mock->has(CurlMulti::POLLING) === false);
     $this->assertTrue($this->mock->has(CurlMulti::COMPLETE) !== false);
 }
コード例 #3
0
 /**
  * @covers Guzzle\Http\Curl\CurlMulti::reset
  */
 public function testHardResetReopensMultiHandle()
 {
     $this->getServer()->enqueue(array("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n", "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"));
     $client = new Client($this->getServer()->getUrl());
     $message = '';
     $plugin = new LogPlugin(new ClosureLogAdapter(function ($msg) use(&$message) {
         $message .= $msg . "\n";
     }), LogPlugin::LOG_VERBOSE);
     $client->getEventDispatcher()->addSubscriber($plugin);
     $request = $client->get();
     $multi = new CurlMulti();
     $multi->add($request);
     $multi->send();
     $multi->reset(true);
     $multi->add($request);
     $multi->send();
     $this->assertNotContains('Re-using existing connection', $message);
 }
コード例 #4
0
ファイル: CurlMultiTest.php プロジェクト: jsnshrmn/Suma
 /**
  * @covers Guzzle\Http\Curl\curlMulti::add
  */
 public function testAddsAsyncRequestsNormallyWhenNotSending()
 {
     $multi = new CurlMulti();
     $request = new Request('GET', 'http://www.google.com/');
     $multi->add($request, true);
     // Ensure that the request was added at the correct next scope
     $requests = $this->readAttribute($multi, 'requests');
     $this->assertEquals(array($request), $requests[0]);
 }