__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
/**
* @see https://github.com/laminas/laminas-diactoros for the canonical source repository
* @copyright https://github.com/laminas/laminas-diactoros/blob/master/COPYRIGHT.md
* @license https://github.com/laminas/laminas-diactoros/blob/master/LICENSE.md New BSD License
*/
declare(strict_types=1);
namespace Laminas\Diactoros;
use Psr\Http\Message\StreamInterface;
use const SEEK_SET;
/**
* Class RelativeStream
*
* Wrapper for default Stream class, representing subpart (starting from given offset) of initial stream.
* It can be used to avoid copying full stream, conserving memory.
* @example see Laminas\Diactoros\AbstractSerializer::splitStream()
*/
final class RelativeStream implements StreamInterface
{
/**
* @var StreamInterface
*/
private $decoratedStream;
/**
* @var int
*/
private $offset;
/**
* Class constructor
*
* @param StreamInterface $decoratedStream
* @param int $offset
*/
public function __construct(StreamInterface $decoratedStream, ?int $offset)
{
$this->decoratedStream = $decoratedStream;
$this->offset = (int) $offset;
}
/**
* {@inheritdoc}
*/
public function __toString() : string
{
if ($this->isSeekable()) {
$this->seek(0);
}
return $this->getContents();
}
/**
* {@inheritdoc}
*/
public function close() : void
{
$this->decoratedStream->close();
}
/**
* {@inheritdoc}
*/
public function detach()
{
return $this->decoratedStream->detach();
}
/**
* {@inheritdoc}
*/
public function getSize() : int
{
return $this->decoratedStream->getSize() - $this->offset;
}
/**
* {@inheritdoc}
*/
public function tell() : int
{
return $this->decoratedStream->tell() - $this->offset;
}
/**
* {@inheritdoc}
*/
public function eof() : bool
{
return $this->decoratedStream->eof();
}
/**
* {@inheritdoc}
*/
public function isSeekable() : bool
{
return $this->decoratedStream->isSeekable();
}
/**
* {@inheritdoc}
*/
public function seek($offset, $whence = SEEK_SET) : void
{
if ($whence == SEEK_SET) {
$this->decoratedStream->seek($offset + $this->offset, $whence);
return;
}
$this->decoratedStream->seek($offset, $whence);
}
/**
* {@inheritdoc}
*/
public function rewind() : void
{
$this->seek(0);
}
/**
* {@inheritdoc}
*/
public function isWritable() : bool
{
return $this->decoratedStream->isWritable();
}
/**
* {@inheritdoc}
*/
public function write($string) : int
{
if ($this->tell() < 0) {
throw new Exception\InvalidStreamPointerPositionException();
}
return $this->decoratedStream->write($string);
}
/**
* {@inheritdoc}
*/
public function isReadable() : bool
{
return $this->decoratedStream->isReadable();
}
/**
* {@inheritdoc}
*/
public function read($length) : string
{
if ($this->tell() < 0) {
throw new Exception\InvalidStreamPointerPositionException();
}
return $this->decoratedStream->read($length);
}
/**
* {@inheritdoc}
*/
public function getContents() : string
{
if ($this->tell() < 0) {
throw new Exception\InvalidStreamPointerPositionException();
}
return $this->decoratedStream->getContents();
}
/**
* {@inheritdoc}
*/
public function getMetadata($key = null)
{
return $this->decoratedStream->getMetadata($key);
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Exception | Folder | 0775 |
|
|
| Request | Folder | 0775 |
|
|
| Response | Folder | 0775 |
|
|
| functions | Folder | 0775 |
|
|
| AbstractSerializer.php | File | 4.48 KB | 0664 |
|
| CallbackStream.php | File | 3.35 KB | 0664 |
|
| ConfigProvider.php | File | 1.54 KB | 0664 |
|
| HeaderSecurity.php | File | 5.31 KB | 0664 |
|
| MessageTrait.php | File | 12.63 KB | 0664 |
|
| Module.php | File | 521 B | 0664 |
|
| PhpInputStream.php | File | 1.8 KB | 0664 |
|
| RelativeStream.php | File | 3.76 KB | 0664 |
|
| Request.php | File | 2.07 KB | 0664 |
|
| RequestFactory.php | File | 662 B | 0664 |
|
| RequestTrait.php | File | 9.96 KB | 0664 |
|
| Response.php | File | 5.88 KB | 0664 |
|
| ResponseFactory.php | File | 727 B | 0664 |
|
| ServerRequest.php | File | 6.44 KB | 0664 |
|
| ServerRequestFactory.php | File | 3.02 KB | 0664 |
|
| Stream.php | File | 8.6 KB | 0664 |
|
| StreamFactory.php | File | 1.22 KB | 0664 |
|
| UploadedFile.php | File | 7.49 KB | 0664 |
|
| UploadedFileFactory.php | File | 1.02 KB | 0664 |
|
| Uri.php | File | 17.34 KB | 0664 |
|
| UriFactory.php | File | 621 B | 0664 |
|