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)); }
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()); }