Zend\Diactoros\Stream::setStream PHP Method

setStream() private method

Set the internal stream resource.
private setStream ( string | resource $stream, string $mode = 'r' )
$stream string | resource String stream target or stream resource.
$mode string Resource mode for stream target.
    private function setStream($stream, $mode = 'r')
    {
        $error = null;
        $resource = $stream;
        if (is_string($stream)) {
            set_error_handler(function ($e) use(&$error) {
                $error = $e;
            }, E_WARNING);
            $resource = fopen($stream, $mode);
            restore_error_handler();
        }
        if ($error) {
            throw new InvalidArgumentException('Invalid stream reference provided');
        }
        if (!is_resource($resource) || 'stream' !== get_resource_type($resource)) {
            throw new InvalidArgumentException('Invalid stream provided; must be a string stream identifier or stream resource');
        }
        if ($stream !== $resource) {
            $this->stream = $stream;
        }
        $this->resource = $resource;
    }