From dcd27fd986427a8ccfbf0a9d01568cf7918b7659 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Thu, 10 Oct 2024 07:54:46 +0200 Subject: [PATCH] feat(http-client): expose default request timeout constant to be used instead of magic number 30 Will be used to set default where we are able to override the default timeout. See https://github.com/nextcloud/server/pull/48418 Signed-off-by: Thomas Citharel --- lib/private/Files/Storage/DAV.php | 3 ++- lib/private/Http/Client/Client.php | 2 +- lib/public/Http/Client/IClient.php | 8 ++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/private/Files/Storage/DAV.php b/lib/private/Files/Storage/DAV.php index e310e4357f1..e0f7700415f 100644 --- a/lib/private/Files/Storage/DAV.php +++ b/lib/private/Files/Storage/DAV.php @@ -20,6 +20,7 @@ use OCP\Files\ForbiddenException; use OCP\Files\IMimeTypeDetector; use OCP\Files\StorageInvalidException; use OCP\Files\StorageNotAvailableException; +use OCP\Http\Client\IClient; use OCP\Http\Client\IClientService; use OCP\ICertificateManager; use OCP\IConfig; @@ -124,7 +125,7 @@ class DAV extends Common { $this->logger = Server::get(LoggerInterface::class); $this->eventLogger = Server::get(IEventLogger::class); // This timeout value will be used for the download and upload of files - $this->timeout = Server::get(IConfig::class)->getSystemValueInt('davstorage.request_timeout', 30); + $this->timeout = Server::get(IConfig::class)->getSystemValueInt('davstorage.request_timeout', IClient::DEFAULT_REQUEST_TIMEOUT); $this->mimeTypeDetector = \OC::$server->getMimeTypeDetector(); } diff --git a/lib/private/Http/Client/Client.php b/lib/private/Http/Client/Client.php index 62209ff9040..c3f8f589827 100644 --- a/lib/private/Http/Client/Client.php +++ b/lib/private/Http/Client/Client.php @@ -53,7 +53,7 @@ class Client implements IClient { $defaults = [ RequestOptions::VERIFY => $this->getCertBundle(), - RequestOptions::TIMEOUT => 30, + RequestOptions::TIMEOUT => IClient::DEFAULT_REQUEST_TIMEOUT, ]; $options['nextcloud']['allow_local_address'] = $this->isLocalAddressAllowed($options); diff --git a/lib/public/Http/Client/IClient.php b/lib/public/Http/Client/IClient.php index ad4c018ab7b..e4f46d44e4d 100644 --- a/lib/public/Http/Client/IClient.php +++ b/lib/public/Http/Client/IClient.php @@ -14,6 +14,14 @@ namespace OCP\Http\Client; * @since 8.1.0 */ interface IClient { + + /** + * Default request timeout for requests + * + * @since 31.0.0 + */ + public const DEFAULT_REQUEST_TIMEOUT = 30; + /** * Sends a GET request * @param string $uri -- 2.39.5