/**
  * @covers Guzzle\Parser\Message\MessageParser::parseResponse
  */
 public function testParsesResponsesWithMissingReasonPhrase()
 {
     $parser = new MessageParser();
     $parts = $parser->parseResponse("HTTP/1.1 200\r\n\r\n");
     $this->assertEquals('200', $parts['code']);
     $this->assertEquals('', $parts['reason_phrase']);
     $this->assertEquals('HTTP', $parts['protocol']);
     $this->assertEquals('1.1', $parts['version']);
 }
 public function parseRequest($data)
 {
     list($headers, $bodyBuffer) = explode("\r\n\r\n", $data, 2);
     $parser = new MessageParser();
     $parsed = $parser->parseRequest($headers . "\r\n\r\n");
     $parsedQuery = array();
     if ($parsed['request_url']['query']) {
         parse_str($parsed['request_url']['query'], $parsedQuery);
     }
     $request = new Request($parsed['method'], $parsed['request_url']['path'], $parsedQuery, $parsed['version'], $parsed['headers']);
     return array($request, $bodyBuffer);
 }
 public function testProperlyDealsWithDuplicateHeaders()
 {
     $parser = new MessageParser();
     $message = "POST / http/1.1\r\n" . "DATE:Mon, 09 Sep 2011 23:36:00 GMT\r\n" . "host:host.foo.com\r\n" . "ZOO:abc\r\n" . "ZOO:123\r\n" . "ZOO:HI\r\n" . "zoo:456\r\n\r\n";
     $parts = $parser->parseRequest($message);
     $this->assertEquals(array('DATE' => 'Mon, 09 Sep 2011 23:36:00 GMT', 'host' => 'host.foo.com', 'ZOO' => array('abc', '123', 'HI'), 'zoo' => '456'), $parts['headers']);
     $request = RequestFactory::getInstance()->fromMessage($message);
     $this->assertEquals(array('abc', '123', 'HI', '456'), $request->getHeader('zoo')->toArray());
 }
 /**
  * @covers Guzzle\Parser\Message\MessageParser::parseMessage
  * @covers Guzzle\Parser\Message\MessageParser::parseResponse
  * @dataProvider responseProvider
  */
 public function testParsesResponses($message, $parts)
 {
     $parser = new MessageParser();
     $this->compareResponseResults($parts, $parser->parseResponse($message));
 }
Beispiel #5
0
 protected function parseResponse($data)
 {
     $parser = new MessageParser();
     $parsed = $parser->parseResponse($data);
     $factory = $this->getResponseFactory();
     $response = $factory($parsed['protocol'], $parsed['version'], $parsed['code'], $parsed['reason_phrase'], $parsed['headers']);
     return array($response, $parsed['body']);
 }