/** * @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)); }
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']); }