/
githubmirror
/
joomla-cms
Обзор
Документация
Войти
/
githubmirror
/
joomla-cms
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
5.4-dev
libraries/src/TUF/HttpLoader.php
50 строк
1 KB
Hannes Papenberg
Remove legacy code for Response calls (#45825)
05 авг 2025, 09:42
Не верифицирован
05 авг 2025, 09:42
37612d3
Код
Авторство
О чём код?
<?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->getStatusCode() !== 200) { throw new RepoFileNotFound(); } // Rewind to start $response->getBody()->rewind(); // Return response return Create::promiseFor($response->getBody()); } }