aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@users.noreply.github.com>2019-09-04 08:08:48 +0200
committerGitHub <noreply@github.com>2019-09-04 08:08:48 +0200
commitb7301f40ddc7d2c047ab0feb467821c183f9a5db (patch)
tree3996a53f5e74b19893bb472009bac1cdd9ae0157
parent102b1e170cd3a80fb9ea1b88acbba8bbf0da8c8f (diff)
parent773778dd8ce6a483539414add1d0a440233e5cad (diff)
downloadnextcloud-server-b7301f40ddc7d2c047ab0feb467821c183f9a5db.tar.gz
nextcloud-server-b7301f40ddc7d2c047ab0feb467821c183f9a5db.zip
Merge pull request #16972 from nextcloud/enh/default_client_timeout
Set a default request timeout
-rw-r--r--lib/private/Http/Client/Client.php1
-rw-r--r--tests/lib/Http/Client/ClientTest.php53
2 files changed, 20 insertions, 34 deletions
diff --git a/lib/private/Http/Client/Client.php b/lib/private/Http/Client/Client.php
index 993b83917fd..28694f38585 100644
--- a/lib/private/Http/Client/Client.php
+++ b/lib/private/Http/Client/Client.php
@@ -63,6 +63,7 @@ class Client implements IClient {
$defaults = [
RequestOptions::PROXY => $this->getProxyUri(),
RequestOptions::VERIFY => $this->getCertBundle(),
+ RequestOptions::TIMEOUT => 30,
];
$options = array_merge($defaults, $options);
diff --git a/tests/lib/Http/Client/ClientTest.php b/tests/lib/Http/Client/ClientTest.php
index 7a25acd9a50..5c0693732bc 100644
--- a/tests/lib/Http/Client/ClientTest.php
+++ b/tests/lib/Http/Client/ClientTest.php
@@ -111,8 +111,9 @@ class ClientTest extends \Test\TestCase {
'verify' => '/my/path.crt',
'proxy' => 'foo',
'headers' => [
- 'User-Agent' => 'Nextcloud Server Crawler'
- ]
+ 'User-Agent' => 'Nextcloud Server Crawler',
+ ],
+ 'timeout' => 30,
];
}
@@ -128,13 +129,10 @@ class ClientTest extends \Test\TestCase {
public function testGetWithOptions(): void {
$this->setUpDefaultRequestOptions();
- $options = [
+ $options = array_merge($this->defaultRequestOptions, [
'verify' => false,
'proxy' => 'bar',
- 'headers' => [
- 'User-Agent' => 'Nextcloud Server Crawler'
- ]
- ];
+ ]);
$this->guzzleClient->method('request')
->with('get', 'http://localhost/', $options)
@@ -154,13 +152,10 @@ class ClientTest extends \Test\TestCase {
public function testPostWithOptions(): void {
$this->setUpDefaultRequestOptions();
- $options = [
+ $options = array_merge($this->defaultRequestOptions, [
'verify' => false,
'proxy' => 'bar',
- 'headers' => [
- 'User-Agent' => 'Nextcloud Server Crawler'
- ]
- ];
+ ]);
$this->guzzleClient->method('request')
->with('post', 'http://localhost/', $options)
@@ -180,13 +175,10 @@ class ClientTest extends \Test\TestCase {
public function testPutWithOptions(): void {
$this->setUpDefaultRequestOptions();
- $options = [
+ $options = array_merge($this->defaultRequestOptions, [
'verify' => false,
'proxy' => 'bar',
- 'headers' => [
- 'User-Agent' => 'Nextcloud Server Crawler'
- ]
- ];
+ ]);
$this->guzzleClient->method('request')
->with('put', 'http://localhost/', $options)
@@ -206,13 +198,10 @@ class ClientTest extends \Test\TestCase {
public function testDeleteWithOptions(): void {
$this->setUpDefaultRequestOptions();
- $options = [
+ $options = array_merge($this->defaultRequestOptions, [
'verify' => false,
'proxy' => 'bar',
- 'headers' => [
- 'User-Agent' => 'Nextcloud Server Crawler'
- ]
- ];
+ ]);
$this->guzzleClient->method('request')
->with('delete', 'http://localhost/', $options)
@@ -232,13 +221,10 @@ class ClientTest extends \Test\TestCase {
public function testOptionsWithOptions(): void {
$this->setUpDefaultRequestOptions();
- $options = [
+ $options = array_merge($this->defaultRequestOptions, [
'verify' => false,
'proxy' => 'bar',
- 'headers' => [
- 'User-Agent' => 'Nextcloud Server Crawler'
- ]
- ];
+ ]);
$this->guzzleClient->method('request')
->with('options', 'http://localhost/', $options)
@@ -258,13 +244,10 @@ class ClientTest extends \Test\TestCase {
public function testHeadWithOptions(): void {
$this->setUpDefaultRequestOptions();
- $options = [
+ $options = array_merge($this->defaultRequestOptions, [
'verify' => false,
'proxy' => 'bar',
- 'headers' => [
- 'User-Agent' => 'Nextcloud Server Crawler'
- ]
- ];
+ ]);
$this->guzzleClient->method('request')
->with('head', 'http://localhost/', $options)
@@ -288,7 +271,8 @@ class ClientTest extends \Test\TestCase {
'proxy' => null,
'headers' => [
'User-Agent' => 'Nextcloud Server Crawler'
- ]
+ ],
+ 'timeout' => 30,
], self::invokePrivate($this->client, 'buildRequestOptions', [[]]));
}
@@ -314,7 +298,8 @@ class ClientTest extends \Test\TestCase {
'proxy' => 'foo',
'headers' => [
'User-Agent' => 'Nextcloud Server Crawler'
- ]
+ ],
+ 'timeout' => 30,
], self::invokePrivate($this->client, 'buildRequestOptions', [[]]));
}
}