__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
declare (strict_types=1);
namespace RegularLabs\Scoped\GuzzleHttp\Psr7;
use RegularLabs\Scoped\Psr\Http\Message\StreamInterface;
/**
* Provides a buffer stream that can be written to to fill a buffer, and read
* from to remove bytes from the buffer.
*
* This stream returns a "hwm" metadata value that tells upstream consumers
* what the configured high water mark of the stream is, or the maximum
* preferred size of the buffer.
*/
final class BufferStream implements StreamInterface
{
/** @var int */
private $hwm;
/** @var string */
private $buffer = '';
/**
* @param int $hwm High water mark, representing the preferred maximum
* buffer size. If the size of the buffer exceeds the high
* water mark, then calls to write will continue to succeed
* but will return 0 to inform writers to slow down
* until the buffer has been drained by reading from it.
*/
public function __construct(int $hwm = 16384)
{
$this->hwm = $hwm;
}
public function __toString(): string
{
return $this->getContents();
}
public function getContents(): string
{
$buffer = $this->buffer;
$this->buffer = '';
return $buffer;
}
public function close(): void
{
$this->buffer = '';
}
public function detach()
{
$this->close();
return null;
}
public function getSize(): ?int
{
return strlen($this->buffer);
}
public function isReadable(): bool
{
return \true;
}
public function isWritable(): bool
{
return \true;
}
public function isSeekable(): bool
{
return \false;
}
public function rewind(): void
{
$this->seek(0);
}
public function seek($offset, $whence = \SEEK_SET): void
{
throw new \RuntimeException('Cannot seek a BufferStream');
}
public function eof(): bool
{
return strlen($this->buffer) === 0;
}
public function tell(): int
{
throw new \RuntimeException('Cannot determine the position of a BufferStream');
}
/**
* Reads data from the buffer.
*/
public function read($length): string
{
$currentLength = strlen($this->buffer);
if ($length >= $currentLength) {
// No need to slice the buffer because we don't have enough data.
$result = $this->buffer;
$this->buffer = '';
} else {
// Slice up the result to provide a subset of the buffer.
$result = substr($this->buffer, 0, $length);
$this->buffer = substr($this->buffer, $length);
}
return $result;
}
/**
* Writes data to the buffer.
*/
public function write($string): int
{
$this->buffer .= $string;
if (strlen($this->buffer) >= $this->hwm) {
return 0;
}
return strlen($string);
}
/**
* @return mixed
*/
public function getMetadata($key = null)
{
if ($key === 'hwm') {
return $this->hwm;
}
return $key ? null : [];
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Exception | Folder | 0775 |
|
|
| AppendStream.php | File | 5.77 KB | 0664 |
|
| BufferStream.php | File | 3.16 KB | 0664 |
|
| CachingStream.php | File | 4.46 KB | 0664 |
|
| DroppingStream.php | File | 1.2 KB | 0664 |
|
| FnStream.php | File | 4.18 KB | 0664 |
|
| Header.php | File | 3.86 KB | 0664 |
|
| HttpFactory.php | File | 3.19 KB | 0664 |
|
| InflateStream.php | File | 1.42 KB | 0664 |
|
| LazyOpenStream.php | File | 1.09 KB | 0664 |
|
| LimitStream.php | File | 4.13 KB | 0664 |
|
| Message.php | File | 7.98 KB | 0664 |
|
| MessageTrait.php | File | 7.42 KB | 0664 |
|
| MimeType.php | File | 44.16 KB | 0664 |
|
| MultipartStream.php | File | 4.91 KB | 0664 |
|
| NoSeekStream.php | File | 560 B | 0664 |
|
| PumpStream.php | File | 4.5 KB | 0664 |
|
| Query.php | File | 4.01 KB | 0664 |
|
| Request.php | File | 3.8 KB | 0664 |
|
| Response.php | File | 4.32 KB | 0664 |
|
| Rfc7230.php | File | 669 B | 0664 |
|
| ServerRequest.php | File | 9.12 KB | 0664 |
|
| Stream.php | File | 7.2 KB | 0664 |
|
| StreamDecoratorTrait.php | File | 3.26 KB | 0664 |
|
| StreamWrapper.php | File | 4.12 KB | 0664 |
|
| UploadedFile.php | File | 4.49 KB | 0664 |
|
| Uri.php | File | 20.74 KB | 0664 |
|
| UriComparator.php | File | 1.16 KB | 0664 |
|
| UriNormalizer.php | File | 8.07 KB | 0664 |
|
| UriResolver.php | File | 8.25 KB | 0664 |
|
| Utils.php | File | 15.14 KB | 0664 |
|