public function testDataWithNoEndingDoubleNewline() { $requestParser = new RequestParser(); $result = $requestParser->addData("GET /democracy/init HTTP/1.1\r\nUser-Agent: The Illuminati/2.0\r\nContent-Length: 10"); $this->assertTrue($result); $this->assertTrue($requestParser->isFullyRead()); $this->assertEquals(RequestParser::BAD_REQUEST, $requestParser->getStatus()); $exported = $requestParser->exportRequestState(); $requestState = new RequestState(); $requestStateExported = $requestState->exportState(); unset($requestStateExported['startTime']); $this->assertEquals(true, isset($exported['startTime'])); $this->assertEquals(true, is_float($exported['startTime'])); unset($exported['startTime']); // Unset StartTime because that value can't be provided from external source. $this->assertEquals($requestStateExported, $exported); }
<?php require_once __DIR__ . '/../vendor/autoload.php'; use sekjun9878\RequestParser\RequestParser; use sekjun9878\RequestParser\Request; $header_str = "GET /democracy/init HTTP/1.1\r\nUser-Agent: The Illuminati/2.0\r\nContent-Length: 10\r\n\r\nOver 9000!"; $requestParser = new RequestParser(); $requestParser->addData($header_str); $request = Request::create($requestParser->exportRequestState()); var_dump($request->getHeaders()); var_dump($request->getBody());