protected function getRemoteContents($originUrl, $fileUrl, $context, array &$responseHeaders = null)
    {
        if (isset(self::$cache[$fileUrl])) {
            $result = self::$cache[$fileUrl];

            if (3 < \func_num_args()) {
                list($responseHeaders, $result) = $result;
            }

            return $result;
        }

        if (self::$cacheNext) {
            self::$cacheNext = false;

            if (3 < \func_num_args()) {
                $result = $this->getRemoteContents($originUrl, $fileUrl, $context, $responseHeaders);
                self::$cache[$fileUrl] = [$responseHeaders, $result];
            } else {
                $result = $this->getRemoteContents($originUrl, $fileUrl, $context);
                self::$cache[$fileUrl] = $result;
            }

            return $result;
        }

        if (!$this->downloader) {
            return parent::getRemoteContents($originUrl, $fileUrl, $context, $responseHeaders);
        }

        try {
            $result = $this->downloader->get($originUrl, $fileUrl, $context, $this->fileName);

            if (3 < \func_num_args()) {
                list($responseHeaders, $result) = $result;
            }

            return $result;
        } catch (TransportException $e) {
            $this->io->writeError('Retrying download: '.$e->getMessage(), true, IOInterface::DEBUG);

            return parent::getRemoteContents($originUrl, $fileUrl, $context, $responseHeaders);
        } catch (\Throwable $e) {
            $responseHeaders = [];
            throw $e;
        }
    }
protected function getRemoteContents($originUrl, $fileUrl, $context, array &$responseHeaders = null)
    {
        if (isset(self::$cache[$fileUrl])) {
            $result = self::$cache[$fileUrl];

            if (3 < \func_num_args()) {
                list($responseHeaders, $result) = $result;
            }

            return $result;
        }

        if (self::$cacheNext) {
            self::$cacheNext = false;

            if (3 < \func_num_args()) {
                $result = $this->getRemoteContents($originUrl, $fileUrl, $context, $responseHeaders);
                self::$cache[$fileUrl] = [$responseHeaders, $result];
            } else {
                $result = $this->getRemoteContents($originUrl, $fileUrl, $context);
                self::$cache[$fileUrl] = $result;
            }

            return $result;
        }

        if (!$this->downloader) {
            return parent::getRemoteContents($originUrl, $fileUrl, $context, $responseHeaders);
        }

        try {
            $result = $this->downloader->get($originUrl, $fileUrl, $context, $this->fileName);

            if (3 < \func_num_args()) {
                list($responseHeaders, $result) = $result;
            }

            return $result;
        } catch (TransportException $e) {
            $this->io->writeError('Retrying download: '.$e->getMessage(), true, IOInterface::DEBUG);

            return parent::getRemoteContents($originUrl, $fileUrl, $context, $responseHeaders);
        } catch (\Throwable $e) {
            $responseHeaders = [];
            throw $e;
        }
    }
protected function getRemoteContents ( $ originUrl , $ fileUrl , $ context , array & $ responseHeaders = null ) { if ( isset ( self :: $ cache [ $ fileUrl ] ) ) { $ result = self :: $ cache [ $ fileUrl ] ; if ( 3 < \ func_num_args ( ) ) { list ( $ responseHeaders , $ result ) = $ result ; } return $ result ; } if ( self :: $ cacheNext ) { self :: $ cacheNext = false ; if ( 3 < \ func_num_args ( ) ) { $ result = $ this -> getRemoteContents ( $ originUrl , $ fileUrl , $ context , $ responseHeaders ) ; self :: $ cache [ $ fileUrl ] = [ $ responseHeaders , $ result ] ; } else { $ result = $ this -> getRemoteContents ( $ originUrl , $ fileUrl , $ context ) ; self :: $ cache [ $ fileUrl ] = $ result ; } return $ result ; } if ( ! $ this -> downloader ) { return parent :: getRemoteContents ( $ originUrl , $ fileUrl , $ context , $ responseHeaders ) ; } try { $ result = $ this -> downloader -> get ( $ originUrl , $ fileUrl , $ context , $ this -> fileName ) ; if ( 3 < \ func_num_args ( ) ) { list ( $ responseHeaders , $ result ) = $ result ; } return $ result ; } catch ( TransportException $ e ) { $ this -> io -> writeError ( 'Retrying download: ' . $ e -> getMessage ( ) , true , IOInterface :: DEBUG ) ; return parent :: getRemoteContents ( $ originUrl , $ fileUrl , $ context , $ responseHeaders ) ; } catch ( \ Throwable $ e ) { $ responseHeaders = [ ] ; throw $ e ; } }
{@inheritdoc}
{