File Manager Lite
Dir:
/home/codewavebd/public_html/vendor/guzzlehttp/psr7/src
Upload
[..]
AppendStream.php (7.43 KB)
Edit
Rename
Del
BufferStream.php (4.69 KB)
Edit
Rename
Del
CachingStream.php (6.74 KB)
Edit
Rename
Del
DroppingStream.php (1.48 KB)
Edit
Rename
Del
Exception/
Rename
Del
FnStream.php (5.76 KB)
Edit
Rename
Del
Header.php (4.77 KB)
Edit
Rename
Del
InflateStream.php (1.38 KB)
Edit
Rename
Del
LazyOpenStream.php (1.06 KB)
Edit
Rename
Del
LimitStream.php (5.11 KB)
Edit
Rename
Del
Message.php (10.1 KB)
Edit
Rename
Del
MessageTrait.php (9.81 KB)
Edit
Rename
Del
MimeType.php (55.82 KB)
Edit
Rename
Del
MultipartStream.php (9.85 KB)
Edit
Rename
Del
NoSeekStream.php (1.12 KB)
Edit
Rename
Del
PumpStream.php (6.88 KB)
Edit
Rename
Del
Request.php (4.79 KB)
Edit
Rename
Del
Response.php (5.49 KB)
Edit
Rename
Del
Rfc3986.php (490 B)
Edit
Rename
Del
Rfc7230.php (3 KB)
Edit
Rename
Del
Stream.php (8.76 KB)
Edit
Rename
Del
StreamDecoratorTrait.php (4.79 KB)
Edit
Rename
Del
StreamWrapper.php (4.68 KB)
Edit
Rename
Del
UploadedFile.php (4.98 KB)
Edit
Rename
Del
Uri.php (23.44 KB)
Edit
Rename
Del
UriComparator.php (1.24 KB)
Edit
Rename
Del
UriNormalizer.php (8.91 KB)
Edit
Rename
Del
UriResolver.php (8.15 KB)
Edit
Rename
Del
Utils.php (21.66 KB)
Edit
Rename
Del
Edit: PumpStream.php
<?php declare(strict_types=1); namespace GuzzleHttp\Psr7; use Psr\Http\Message\StreamInterface; /** * Provides a read only stream that pumps data from a PHP callable. * * When invoking the provided callable, the PumpStream will pass the suggested * number of bytes to read to the callable. The callable can choose to ignore * this value and return fewer or more bytes than requested. Any extra data * returned by the callable is buffered internally until drained using the * read() function of the PumpStream. The callable MUST return false or null * when there is no more data to read. * * Userland callables that declare no parameters are tolerated by PHP, but * length-aware callables remain the recommended formal shape. */ final class PumpStream implements StreamInterface { /** @var callable|null */ private $source; /** @var int|null */ private $size; /** @var int */ private $tellPos = 0; /** @var array */ private $metadata; /** @var BufferStream */ private $buffer; /** * @param (callable(): (string|false|null))|(callable(int): (string|false|null)) $source Source of the stream data. The callable receives * the suggested number of bytes to read, may ignore * that value, and may return fewer or more bytes. * Extra bytes are buffered. The callable MUST return * a string when called, or false|null on error or EOF. * Userland callables that declare no parameters are * tolerated by PHP, but length-aware callables remain * the recommended formal shape. * @param array{size?: int, metadata?: array} $options Stream options: * - metadata: Hash of metadata to use with stream. * - size: Size of the stream, if known. */ public function __construct(callable $source, array $options = []) { $this->source = $source; $this->size = $options['size'] ?? null; $this->metadata = $options['metadata'] ?? []; $this->buffer = new BufferStream(); } public function __toString(): string { try { return Utils::copyToString($this); } catch (\Throwable $e) { if (\PHP_VERSION_ID >= 70400) { throw $e; } trigger_error(sprintf('%s::__toString exception: %s', self::class, (string) $e), E_USER_ERROR); return ''; } } public function close(): void { $this->detach(); } public function detach() { $this->tellPos = 0; $this->source = null; return null; } public function getSize(): ?int { return $this->size; } public function tell(): int { return $this->tellPos; } public function eof(): bool { return $this->source === null; } public function isSeekable(): bool { return false; } public function rewind(): void { $this->seek(0); } public function seek($offset, $whence = SEEK_SET): void { if (!\is_int($offset)) { \trigger_deprecation( 'guzzlehttp/psr7', '2.11', 'Passing %s to StreamInterface::seek() is deprecated; guzzlehttp/psr7 3.0 requires int for $offset.', \get_debug_type($offset) ); } if (!\is_int($whence)) { \trigger_deprecation( 'guzzlehttp/psr7', '2.11', 'Passing %s to StreamInterface::seek() is deprecated; guzzlehttp/psr7 3.0 requires int for $whence.', \get_debug_type($whence) ); } throw new \RuntimeException('Cannot seek a PumpStream'); } public function isWritable(): bool { return false; } public function write($string): int { if (!\is_string($string)) { \trigger_deprecation( 'guzzlehttp/psr7', '2.11', 'Passing %s to StreamInterface::write() is deprecated; guzzlehttp/psr7 3.0 requires string for $string.', \get_debug_type($string) ); } throw new \RuntimeException('Cannot write to a PumpStream'); } public function isReadable(): bool { return true; } public function read($length): string { if (!\is_int($length)) { \trigger_deprecation( 'guzzlehttp/psr7', '2.11', 'Passing %s to StreamInterface::read() is deprecated; guzzlehttp/psr7 3.0 requires int for $length.', \get_debug_type($length) ); } $data = $this->buffer->read($length); $readLen = strlen($data); $this->tellPos += $readLen; $remaining = $length - $readLen; if ($remaining) { $this->pump($remaining); $data .= $this->buffer->read($remaining); $this->tellPos += strlen($data) - $readLen; } return $data; } public function getContents(): string { $result = ''; while (!$this->eof()) { $result .= $this->read(1000000); } return $result; } /** * @return mixed */ public function getMetadata($key = null) { if ($key !== null && !\is_string($key)) { \trigger_deprecation( 'guzzlehttp/psr7', '2.11', 'Passing %s to StreamInterface::getMetadata() is deprecated; guzzlehttp/psr7 3.0 requires string|null for $key.', \get_debug_type($key) ); } if (!$key) { return $this->metadata; } return $this->metadata[$key] ?? null; } private function pump(int $length): void { if ($this->source !== null) { do { $data = ($this->source)($length); if ($data === false || $data === null) { $this->source = null; return; } $this->buffer->write($data); $length -= strlen($data); } while ($length > 0); } } }
Simpan