public function testTrimsDownMaxHandleCount()
 {
     $this->getServer()->flush();
     $this->getServer()->enqueue(array("HTTP/1.1 307 OK\r\nLocation: /foo\r\nContent-Length: 0\r\n\r\n", "HTTP/1.1 307 OK\r\nLocation: /foo\r\nContent-Length: 0\r\n\r\n", "HTTP/1.1 307 OK\r\nLocation: /foo\r\nContent-Length: 0\r\n\r\n", "HTTP/1.1 307 OK\r\nLocation: /foo\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());
     $client->setCurlMulti(new CurlMultiProxy(2));
     $request = $client->get();
     $request->send();
     $this->assertEquals(200, $request->getResponse()->getStatusCode());
     $handles = $this->readAttribute($client->getCurlMulti(), 'handles');
     $this->assertEquals(2, count($handles));
 }
Example #2
0
 public function testCatchesExceptionsWhenRemovingQueuedRequestsBeforeSending()
 {
     $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n");
     $client = new Client($this->getServer()->getUrl());
     $r = $client->get();
     $r->getEventDispatcher()->addListener('request.before_send', function () use($client) {
         // Create a request using a queued response
         $client->get()->setResponse(new Response(404), true)->send();
     });
     try {
         $r->send();
         $this->fail('Did not throw');
     } catch (BadResponseException $e) {
         $this->assertCount(0, $client->getCurlMulti());
     }
 }
 public function testDontReuseCurlMulti()
 {
     $client1 = new Client();
     $client2 = new Client();
     $this->assertNotSame($client1->getCurlMulti(), $client2->getCurlMulti());
 }