aboutsummaryrefslogtreecommitdiffstats
path: root/includes/libs/filebackend/SwiftFileBackend.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/libs/filebackend/SwiftFileBackend.php')
-rw-r--r--includes/libs/filebackend/SwiftFileBackend.php14
1 files changed, 13 insertions, 1 deletions
diff --git a/includes/libs/filebackend/SwiftFileBackend.php b/includes/libs/filebackend/SwiftFileBackend.php
index c466b52881f9..d0fbae5ba505 100644
--- a/includes/libs/filebackend/SwiftFileBackend.php
+++ b/includes/libs/filebackend/SwiftFileBackend.php
@@ -110,6 +110,10 @@ class SwiftFileBackend extends FileBackendStore {
* - writeUsers : Swift users with write access to public containers (account:username)
* - secureReadUsers : Swift users with read access to private containers (account:username)
* - secureWriteUsers : Swift users with write access to private containers (account:username)
+ * - connTimeout : The HTTP connect timeout to use when connecting to Swift, in
+ * seconds.
+ * - reqTimeout : The HTTP request timeout to use when communicating with Swift, in
+ * seconds.
*/
public function __construct( array $config ) {
parent::__construct( $config );
@@ -124,8 +128,16 @@ class SwiftFileBackend extends FileBackendStore {
$this->shardViaHashLevels = $config['shardViaHashLevels'] ?? '';
$this->rgwS3AccessKey = $config['rgwS3AccessKey'] ?? '';
$this->rgwS3SecretKey = $config['rgwS3SecretKey'] ?? '';
+
// HTTP helper client
- $this->http = new MultiHttpClient( [] );
+ $httpOptions = [];
+ foreach ( [ 'connTimeout', 'reqTimeout' ] as $optionName ) {
+ if ( isset( $config[$optionName] ) ) {
+ $httpOptions[$optionName] = $config[$optionName];
+ }
+ }
+ $this->http = new MultiHttpClient( $httpOptions );
+
// Cache container information to mask latency
if ( isset( $config['wanCache'] ) && $config['wanCache'] instanceof WANObjectCache ) {
$this->memCache = $config['wanCache'];