/** * @uses \Crunch\FastCGI\Protocol\Record * @uses \Crunch\FastCGI\Protocol\RecordType * @uses \Crunch\FastCGI\Protocol\Header * @covers ::encode */ public function testEncodeEmptyParameters() { $parameters = new RequestParameters([]); $records = $parameters->encode(123); self::assertCount(1, $records); self::assertEquals(123, $records[0]->getRequestId()); self::assertSame(RecordType::params(), $records[0]->getType()); self::assertEquals('', $records[0]->getContent()); }
private function buildRequest() { /** @var Record $record */ $record = array_shift($this->records); $role = Role::instance(ord($record->getContent()[1])); $keepConnection = $record->getContent()[2] !== ""; $params = ''; while ($this->records && $this->records[0]->getType()->isParams()) { /** @var Record $record */ $record = array_shift($this->records); $params .= $record->getContent(); } $stdin = ''; while ($this->records && $this->records[0]->getType()->isStdin()) { /** @var Record $record */ $record = array_shift($this->records); $stdin .= $record->getContent(); } if ($this->records) { // TODO Not empty, something went wrong } return new Request($role, $record->getRequestId(), $keepConnection, RequestParameters::decode($params), new StringReader($stdin)); }