From fe296e5a731eafd5762995f5cc3dd2e355930978 Mon Sep 17 00:00:00 2001 From: Philipp Date: Sat, 23 Oct 2021 12:50:29 +0200 Subject: [PATCH] Restructure HTTPClient for new paradigm --- pumpio/pumpio.php | 4 +-- webdav_storage/src/WebDav.php | 36 ++++++++++++------------- webdav_storage/src/WebDavConfig.php | 10 +++---- webdav_storage/tests/WebDavTest.php.bak | 2 +- 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/pumpio/pumpio.php b/pumpio/pumpio.php index 3c3938f7..e9084534 100644 --- a/pumpio/pumpio.php +++ b/pumpio/pumpio.php @@ -21,7 +21,7 @@ use Friendica\Model\Group; use Friendica\Model\Item; use Friendica\Model\Post; use Friendica\Model\User; -use Friendica\Network\HTTPClientOptions; +use Friendica\Network\HTTPClient\Client\HttpClientOptions; use Friendica\Protocol\Activity; use Friendica\Protocol\ActivityNamespace; use Friendica\Core\Config\Util\ConfigFileLoader; @@ -1537,7 +1537,7 @@ function pumpio_fetchallcomments(App $a, $uid, $id) function pumpio_reachable($url) { - return DI::httpClient()->get($url, [HTTPClientOptions::TIMEOUT => 10])->isSuccess(); + return DI::httpClient()->get($url, [HttpClientOptions::TIMEOUT => 10])->isSuccess(); } /* diff --git a/webdav_storage/src/WebDav.php b/webdav_storage/src/WebDav.php index c22ae5db..a9fdacea 100644 --- a/webdav_storage/src/WebDav.php +++ b/webdav_storage/src/WebDav.php @@ -6,8 +6,8 @@ use Exception; use Friendica\Core\Storage\Capability\ICanWriteToStorage; use Friendica\Core\Storage\Exception\ReferenceStorageException; use Friendica\Core\Storage\Exception\StorageException; -use Friendica\Network\HTTPClientOptions; -use Friendica\Network\IHTTPClient; +use Friendica\Network\HTTPClient\Client\HttpClientOptions; +use Friendica\Network\HTTPClient\Capability\ICanRequestPerHttp; use Friendica\Util\Strings; use Psr\Log\LoggerInterface; @@ -21,7 +21,7 @@ class WebDav implements ICanWriteToStorage /** @var string */ private $url; - /** @var IHTTPClient */ + /** @var ICanRequestPerHttp */ private $client; /** @var LoggerInterface */ @@ -33,12 +33,12 @@ class WebDav implements ICanWriteToStorage /** * WebDav constructor * - * @param string $url The full URL to the webdav endpoint (including the subdirectories) - * @param array $authOptions The authentication options for the http calls ( ['username', 'password', 'auth_type'] ) - * @param IHTTPClient $client The http client for communicating with the WebDav endpoint - * @param LoggerInterface $logger The standard logging class + * @param string $url The full URL to the webdav endpoint (including the subdirectories) + * @param array $authOptions The authentication options for the http calls ( ['username', 'password', 'auth_type'] ) + * @param ICanRequestPerHttp $client The http client for communicating with the WebDav endpoint + * @param LoggerInterface $logger The standard logging class */ - public function __construct(string $url, array $authOptions, IHTTPClient $client, LoggerInterface $logger) + public function __construct(string $url, array $authOptions, ICanRequestPerHttp $client, LoggerInterface $logger) { $this->client = $client; $this->logger = $logger; @@ -85,7 +85,7 @@ class WebDav implements ICanWriteToStorage */ protected function exists(string $uri): bool { - return $this->client->head($uri, [HTTPClientOptions::AUTH => $this->authOptions])->getReturnCode() == 200; + return $this->client->head($uri, [HttpClientOptions::AUTH => $this->authOptions])->getReturnCode() == 200; } /** @@ -105,9 +105,9 @@ class WebDav implements ICanWriteToStorage $dom->appendChild($root)->appendChild($prop); $opts = [ - HTTPClientOptions::AUTH => $this->authOptions, - HTTPClientOptions::HEADERS => ['Depth' => 1, 'Prefer' => 'return-minimal', 'Content-Type' => 'application/xml'], - HTTPClientOptions::BODY => $dom->saveXML(), + HttpClientOptions::AUTH => $this->authOptions, + HttpClientOptions::HEADERS => ['Depth' => 1, 'Prefer' => 'return-minimal', 'Content-Type' => 'application/xml'], + HttpClientOptions::BODY => $dom->saveXML(), ]; $response = $this->client->request('propfind', $uri, $opts); @@ -133,7 +133,7 @@ class WebDav implements ICanWriteToStorage */ protected function mkcol(string $uri): bool { - return $this->client->request('mkcol', $uri, [HTTPClientOptions::AUTH => $this->authOptions]) + return $this->client->request('mkcol', $uri, [HttpClientOptions::AUTH => $this->authOptions]) ->getReturnCode() == 200; } @@ -177,7 +177,7 @@ class WebDav implements ICanWriteToStorage foreach ($pathParts as $pathPart) { $checkUrl = $this->url . $partURL; if (!empty($partURL) && !$this->hasItems($checkUrl)) { - $response = $this->client->request('delete', $checkUrl, [HTTPClientOptions::AUTH => $this->authOptions]); + $response = $this->client->request('delete', $checkUrl, [HttpClientOptions::AUTH => $this->authOptions]); if (!$response->isSuccess()) { if ($response->getReturnCode() == "404") { @@ -199,7 +199,7 @@ class WebDav implements ICanWriteToStorage { $file = $this->pathForRef($reference); - $response = $this->client->request('get', $this->url . '/' . $file[0], [HTTPClientOptions::AUTH => $this->authOptions]); + $response = $this->client->request('get', $this->url . '/' . $file[0], [HttpClientOptions::AUTH => $this->authOptions]); if (!$response->isSuccess()) { throw new ReferenceStorageException(sprintf('Invalid reference %s', $reference)); @@ -225,8 +225,8 @@ class WebDav implements ICanWriteToStorage $this->checkAndCreatePath($file[1]); $opts = [ - HTTPClientOptions::BODY => $data, - HTTPClientOptions::AUTH => $this->authOptions, + HttpClientOptions::BODY => $data, + HttpClientOptions::AUTH => $this->authOptions, ]; $this->client->request('put', $this->url . '/' . $file[0], $opts); @@ -241,7 +241,7 @@ class WebDav implements ICanWriteToStorage { $file = $this->pathForRef($reference); - $response = $this->client->request('delete', $this->url . '/' . $file[0], [HTTPClientOptions::AUTH => $this->authOptions]); + $response = $this->client->request('delete', $this->url . '/' . $file[0], [HttpClientOptions::AUTH => $this->authOptions]); if (!$response->isSuccess()) { throw new ReferenceStorageException(sprintf('Invalid reference %s', $reference)); diff --git a/webdav_storage/src/WebDavConfig.php b/webdav_storage/src/WebDavConfig.php index 9c8561d7..fd2c247b 100644 --- a/webdav_storage/src/WebDavConfig.php +++ b/webdav_storage/src/WebDavConfig.php @@ -5,8 +5,8 @@ namespace Friendica\Addon\webdav_storage\src; use Friendica\Core\Config\Capability\IManageConfigValues; use Friendica\Core\L10n; use Friendica\Core\Storage\Capability\ICanConfigureStorage; -use Friendica\Network\HTTPClientOptions; -use Friendica\Network\IHTTPClient; +use Friendica\Network\HTTPClient\Client\HttpClientOptions; +use Friendica\Network\HTTPClient\Capability\ICanRequestPerHttp; /** * The WebDav Backend Storage configuration class @@ -24,7 +24,7 @@ class WebDavConfig implements ICanConfigureStorage /** @var string */ private $url; - /** @var IHTTPClient */ + /** @var \Friendica\Network\HTTPClient\Capability\ICanRequestPerHttp */ private $client; /** @var array */ @@ -46,7 +46,7 @@ class WebDavConfig implements ICanConfigureStorage return $this->authOptions; } - public function __construct(L10n $l10n, IManageConfigValues $config, IHTTPClient $client) + public function __construct(L10n $l10n, IManageConfigValues $config, ICanRequestPerHttp $client) { $this->l10n = $l10n; $this->config = $config; @@ -138,7 +138,7 @@ class WebDavConfig implements ICanConfigureStorage ]; } - if (!$this->client->head($url, [HTTPClientOptions::AUTH => $options])->isSuccess()) { + if (!$this->client->head($url, [HttpClientOptions::AUTH => $options])->isSuccess()) { return [ 'url' => $this->l10n->t('url is either invalid or not reachable'), ]; diff --git a/webdav_storage/tests/WebDavTest.php.bak b/webdav_storage/tests/WebDavTest.php.bak index db1f65df..bdcbd005 100644 --- a/webdav_storage/tests/WebDavTest.php.bak +++ b/webdav_storage/tests/WebDavTest.php.bak @@ -4,7 +4,7 @@ namespace Friendica\Addon\webdav_storage\tests; use Friendica\Addon\webdav_storage\src\WebDav; use Friendica\DI; -use Friendica\Factory\HTTPClientFactory; +use Friendica\Network\HTTPClient\Factory\HTTPClientFactory; use Friendica\Test\src\Core\Storage\StorageTest; use Friendica\Core\Logger\Type\VoidLogger; -- 2.39.5