/**
  * @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());
 }
Exemple #2
0
 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));
 }