ok
Direktori : /home2/selectio/www/3-idiots/vendor/laminas/laminas-diactoros/src/ |
Current File : //home2/selectio/www/3-idiots/vendor/laminas/laminas-diactoros/src/PhpInputStream.php |
<?php declare(strict_types=1); namespace Laminas\Diactoros; use Stringable; use function stream_get_contents; /** * Caching version of php://input */ class PhpInputStream extends Stream implements Stringable { private string $cache = ''; private bool $reachedEof = false; /** * @param string|resource $stream */ public function __construct($stream = 'php://input') { parent::__construct($stream, 'r'); } /** * {@inheritdoc} */ public function __toString(): string { if ($this->reachedEof) { return $this->cache; } $this->getContents(); return $this->cache; } /** * {@inheritdoc} */ public function isWritable(): bool { return false; } /** * {@inheritdoc} */ public function read($length): string { $content = parent::read($length); if (! $this->reachedEof) { $this->cache .= $content; } if ($this->eof()) { $this->reachedEof = true; } return $content; } /** * {@inheritdoc} */ public function getContents($maxLength = -1): string { if ($this->reachedEof) { return $this->cache; } $contents = stream_get_contents($this->resource, $maxLength); $this->cache .= $contents; if ($maxLength === -1 || $this->eof()) { $this->reachedEof = true; } return $contents; } }