You are here

public function LimitStream::seek in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/guzzlehttp/psr7/src/LimitStream.php \GuzzleHttp\Psr7\LimitStream::seek()

Allow for a bounded seek on the read limited stream

Overrides StreamDecoratorTrait::seek

File

vendor/guzzlehttp/psr7/src/LimitStream.php, line 71

Class

LimitStream
Decorator used to return only a subset of a stream

Namespace

GuzzleHttp\Psr7

Code

public function seek($offset, $whence = SEEK_SET) {
  if ($whence !== SEEK_SET || $offset < 0) {
    throw new \RuntimeException(sprintf('Cannot seek to offset % with whence %s', $offset, $whence));
  }
  $offset += $this->offset;
  if ($this->limit !== -1) {
    if ($offset > $this->offset + $this->limit) {
      $offset = $this->offset + $this->limit;
    }
  }
  $this->stream
    ->seek($offset);
}