diff options
Diffstat (limited to 'includes/libs/filebackend/SwiftFileBackend.php')
-rw-r--r-- | includes/libs/filebackend/SwiftFileBackend.php | 14 |
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']; |