Example #1
0
 /**
  * Hydrates the data from the executed request into the response instance.
  * @param \BluePsyduck\MultiCurl\Entity\Response $response
  * @param \BluePsyduck\MultiCurl\Entity\Request $request
  * @return $this
  */
 protected function hydrateResponse(Response $response, Request $request)
 {
     $curl = $request->getCurl();
     $headerSize = $curl->getInfo(CURLINFO_HEADER_SIZE);
     $rawContent = $this->multiCurl->getContent($curl);
     $response->setStatusCode($curl->getInfo(CURLINFO_HTTP_CODE))->setHeaders($this->parseHeaders(substr($rawContent, 0, $headerSize)))->setContent(substr($rawContent, $headerSize));
     return $this;
 }
Example #2
0
 /**
  * Tests the checkStatusMessages() method.
  * @covers \BluePsyduck\MultiCurl\Manager::checkStatusMessages
  */
 public function testCheckStatusMessages()
 {
     $handle1 = 'abc';
     $handle2 = 'def';
     $response = new Response();
     $response->setContent('ghi');
     /* @var $request \BluePsyduck\MultiCurl\Entity\Request|\PHPUnit_Framework_MockObject_MockObject */
     $request = $this->getMockBuilder('BluePsyduck\\MultiCurl\\Entity\\Request')->setMethods(array('setResponse'))->getMock();
     $request->expects($this->once())->method('setResponse')->with($response);
     /* @var $multiCurl \BluePsyduck\MultiCurl\Wrapper\MultiCurl|\PHPUnit_Framework_MockObject_MockObject */
     $multiCurl = $this->getMockBuilder('BluePsyduck\\MultiCurl\\Wrapper\\MultiCurl')->setMethods(array('readInfo'))->getMock();
     $multiCurl->expects($this->at(0))->method('readInfo')->willReturn(array('handle' => $handle1, 'result' => 42));
     $multiCurl->expects($this->at(1))->method('readInfo')->willReturn(array('handle' => $handle2, 'result' => 1337));
     $multiCurl->expects($this->at(2))->method('readInfo')->willReturn(false);
     /* @var $manager \BluePsyduck\MultiCurl\Manager|\PHPUnit_Framework_MockObject_MockObject */
     $manager = $this->getMockBuilder('BluePsyduck\\MultiCurl\\Manager')->setMethods(array('findRequestToCurlHandle', 'createResponse'))->getMock();
     $manager->expects($this->at(0))->method('findRequestToCurlHandle')->with($handle1)->willReturn(null);
     $manager->expects($this->at(1))->method('findRequestToCurlHandle')->with($handle2)->willReturn($request);
     $manager->expects($this->at(2))->method('createResponse')->with(1337, $request)->willReturn($response);
     $this->injectProperty($manager, 'multiCurl', $multiCurl);
     $result = $this->invokeMethod($manager, 'checkStatusMessages');
     $this->assertEquals($manager, $result);
 }
Example #3
0
 /**
  * Tests the setContent() method.
  * @covers \BluePsyduck\MultiCurl\Entity\Response::setContent
  */
 public function testSetContent()
 {
     $expected = 'abc';
     $response = new Response();
     $result = $response->setContent($expected);
     $this->assertEquals($response, $result);
     $this->assertPropertyEquals($expected, $response, 'content');
 }