示例#1
0
 private function addElement(AppendStream $stream, array $element)
 {
     foreach (array('contents', 'name') as $key) {
         if (!array_key_exists($key, $element)) {
             throw new \InvalidArgumentException("A '{$key}' key is required");
         }
     }
     $element['contents'] = stream_for($element['contents']);
     if (empty($element['filename'])) {
         $uri = $element['contents']->getMetadata('uri');
         if (substr($uri, 0, 6) !== 'php://') {
             $element['filename'] = $uri;
         }
     }
     list($body, $headers) = $this->createElement($element['name'], $element['contents'], isset($element['filename']) ? $element['filename'] : null, isset($element['headers']) ? $element['headers'] : array());
     $stream->addStream(stream_for($this->getHeaders($headers)));
     $stream->addStream($body);
     $stream->addStream(stream_for("\r\n"));
 }
示例#2
0
 public function testReturnsEmptyMetadata()
 {
     $s = new AppendStream();
     $this->assertEquals(array(), $s->getMetadata());
     $this->assertNull($s->getMetadata('foo'));
 }