| Server IP : 104.21.84.107 / Your IP : 104.23.197.208 Web Server : Apache/2.4.63 (Ubuntu) System : Linux adminpruebas-Virtual-Machine 6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025 x86_64 User : www-data ( 33) PHP Version : 8.4.5 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/tutoriales/libraries/src/TUF/ |
Upload File : |
<?php
/**
* Joomla! Content Management System
*
* @copyright (C) 2024 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace Joomla\CMS\TUF;
use GuzzleHttp\Promise\Create;
use GuzzleHttp\Promise\PromiseInterface;
use Joomla\Http\Http;
use Tuf\Exception\RepoFileNotFound;
use Tuf\Loader\LoaderInterface;
/**
* @since 5.1.0
*
* @internal Currently this class is only used for Joomla! updates and will be extended in the future to support 3rd party updates
* Don't extend this class in your own code, it is subject to change without notice.
*/
class HttpLoader implements LoaderInterface
{
public function __construct(private readonly string $repositoryPath, private readonly Http $http)
{
}
public function load(string $locator, int $maxBytes): PromiseInterface
{
try {
/** @var Http $client */
$response = $this->http->get($this->repositoryPath . $locator);
} catch (\Exception $e) {
// We convert the generic exception thrown in the Http library into a TufException
throw new HttpLoaderException($e->getMessage(), $e->getCode(), $e);
}
if ($response->code !== 200) {
throw new RepoFileNotFound();
}
// Rewind to start
$response->getBody()->rewind();
// Return response
return Create::promiseFor($response->getBody());
}
}