summaryrefslogtreecommitdiff
path: root/vendor/guzzlehttp
diff options
context:
space:
mode:
authorGreg Roach <fisharebest@webtrees.net>2019-12-10 21:29:45 +0000
committerGreg Roach <fisharebest@webtrees.net>2019-12-10 21:29:45 +0000
commit79561eff6f687e23cf2cc5c5017283658e228d5c (patch)
treec188355551507c17b8cdc64d8d3baa425db503db /vendor/guzzlehttp
parentfd645177afc02591f2817d3321838725c6a9ff77 (diff)
downloadwebtrees-79561eff6f687e23cf2cc5c5017283658e228d5c.tar.gz
webtrees-79561eff6f687e23cf2cc5c5017283658e228d5c.tar.bz2
webtrees-79561eff6f687e23cf2cc5c5017283658e228d5c.zip
Update vendor dependencies
Diffstat (limited to 'vendor/guzzlehttp')
-rw-r--r--vendor/guzzlehttp/guzzle/.php_cs4
-rw-r--r--vendor/guzzlehttp/guzzle/CHANGELOG.md9
-rw-r--r--vendor/guzzlehttp/guzzle/README.md2
-rw-r--r--vendor/guzzlehttp/guzzle/composer.json5
-rw-r--r--vendor/guzzlehttp/guzzle/phpstan.neon.dist9
-rw-r--r--vendor/guzzlehttp/guzzle/src/Client.php119
-rw-r--r--vendor/guzzlehttp/guzzle/src/ClientInterface.php7
-rw-r--r--vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php6
-rw-r--r--vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php6
-rw-r--r--vendor/guzzlehttp/guzzle/src/Exception/RequestException.php35
-rw-r--r--vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php15
-rw-r--r--vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php18
-rw-r--r--vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php7
-rw-r--r--vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php2
-rw-r--r--vendor/guzzlehttp/guzzle/src/HandlerStack.php6
-rw-r--r--vendor/guzzlehttp/guzzle/src/MessageFormatter.php5
-rw-r--r--vendor/guzzlehttp/guzzle/src/Pool.php11
-rw-r--r--vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php5
-rw-r--r--vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php16
-rw-r--r--vendor/guzzlehttp/guzzle/src/RequestOptions.php8
-rw-r--r--vendor/guzzlehttp/guzzle/src/RetryMiddleware.php17
-rw-r--r--vendor/guzzlehttp/guzzle/src/TransferStats.php12
-rw-r--r--vendor/guzzlehttp/guzzle/src/functions.php2
23 files changed, 249 insertions, 77 deletions
diff --git a/vendor/guzzlehttp/guzzle/.php_cs b/vendor/guzzlehttp/guzzle/.php_cs
index a8ace8aab9..2dd5036c1f 100644
--- a/vendor/guzzlehttp/guzzle/.php_cs
+++ b/vendor/guzzlehttp/guzzle/.php_cs
@@ -7,13 +7,15 @@ $config = PhpCsFixer\Config::create()
'array_syntax' => ['syntax' => 'short'],
'declare_strict_types' => false,
'concat_space' => ['spacing'=>'one'],
- // 'ordered_imports' => true,
+ 'php_unit_test_case_static_method_calls' => ['call_type' => 'self'],
+ 'ordered_imports' => true,
// 'phpdoc_align' => ['align'=>'vertical'],
// 'native_function_invocation' => true,
])
->setFinder(
PhpCsFixer\Finder::create()
->in(__DIR__.'/src')
+ ->in(__DIR__.'/tests')
->name('*.php')
)
;
diff --git a/vendor/guzzlehttp/guzzle/CHANGELOG.md b/vendor/guzzlehttp/guzzle/CHANGELOG.md
index 65557498ba..342e0b6c08 100644
--- a/vendor/guzzlehttp/guzzle/CHANGELOG.md
+++ b/vendor/guzzlehttp/guzzle/CHANGELOG.md
@@ -1,5 +1,14 @@
# Change Log
+## 6.5.0 - 2019-11-07
+
+* Improvement: Added support for reset internal queue in MockHandler. [#2143](https://github.com/guzzle/guzzle/pull/2143)
+* Improvement: Added support to pass arbitrary options to `curl_multi_init`. [#2287](https://github.com/guzzle/guzzle/pull/2287)
+* Fix: Gracefully handle passing `null` to the `header` option. [#2132](https://github.com/guzzle/guzzle/pull/2132)
+* Fix: `RetryMiddleware` did not do exponential delay between retires due unit mismatch. [#2132](https://github.com/guzzle/guzzle/pull/2132)
+* Fix: Prevent undefined offset when using array for ssl_key options. [#2348](https://github.com/guzzle/guzzle/pull/2348)
+* Deprecated `ClientInterface::VERSION`
+
## 6.4.1 - 2019-10-23
* No `guzzle.phar` was created in 6.4.0 due expired API token. This release will fix that
diff --git a/vendor/guzzlehttp/guzzle/README.md b/vendor/guzzlehttp/guzzle/README.md
index a5ef18aee6..5fdb6c5f42 100644
--- a/vendor/guzzlehttp/guzzle/README.md
+++ b/vendor/guzzlehttp/guzzle/README.md
@@ -78,7 +78,7 @@ composer update
|---------|------------|---------------------|--------------|---------------------|---------------------|-------|-------------|
| 3.x | EOL | `guzzle/guzzle` | `Guzzle` | [v3][guzzle-3-repo] | [v3][guzzle-3-docs] | No | >= 5.3.3 |
| 4.x | EOL | `guzzlehttp/guzzle` | `GuzzleHttp` | [v4][guzzle-4-repo] | N/A | No | >= 5.4 |
-| 5.x | Maintained | `guzzlehttp/guzzle` | `GuzzleHttp` | [v5][guzzle-5-repo] | [v5][guzzle-5-docs] | No | >= 5.4 |
+| 5.x | EOL | `guzzlehttp/guzzle` | `GuzzleHttp` | [v5][guzzle-5-repo] | [v5][guzzle-5-docs] | No | >= 5.4 |
| 6.x | Latest | `guzzlehttp/guzzle` | `GuzzleHttp` | [v6][guzzle-6-repo] | [v6][guzzle-6-docs] | Yes | >= 5.5 |
[guzzle-3-repo]: https://github.com/guzzle/guzzle3
diff --git a/vendor/guzzlehttp/guzzle/composer.json b/vendor/guzzlehttp/guzzle/composer.json
index c553257534..bbf0ff20b4 100644
--- a/vendor/guzzlehttp/guzzle/composer.json
+++ b/vendor/guzzlehttp/guzzle/composer.json
@@ -32,14 +32,15 @@
"psr/log": "^1.1"
},
"suggest": {
- "psr/log": "Required for using the Log middleware"
+ "psr/log": "Required for using the Log middleware",
+ "ext-intl": "Required for Internationalized Domain Name (IDN) support"
},
"config": {
"sort-packages": true
},
"extra": {
"branch-alias": {
- "dev-master": "6.3-dev"
+ "dev-master": "6.5-dev"
}
},
"autoload": {
diff --git a/vendor/guzzlehttp/guzzle/phpstan.neon.dist b/vendor/guzzlehttp/guzzle/phpstan.neon.dist
deleted file mode 100644
index 4ef4192d33..0000000000
--- a/vendor/guzzlehttp/guzzle/phpstan.neon.dist
+++ /dev/null
@@ -1,9 +0,0 @@
-parameters:
- level: 1
- paths:
- - src
-
- ignoreErrors:
- -
- message: '#Function uri_template not found#'
- path: %currentWorkingDirectory%/src/functions.php
diff --git a/vendor/guzzlehttp/guzzle/src/Client.php b/vendor/guzzlehttp/guzzle/src/Client.php
index 0f43c71f01..db4062f942 100644
--- a/vendor/guzzlehttp/guzzle/src/Client.php
+++ b/vendor/guzzlehttp/guzzle/src/Client.php
@@ -2,11 +2,12 @@
namespace GuzzleHttp;
use GuzzleHttp\Cookie\CookieJar;
+use GuzzleHttp\Exception\InvalidArgumentException;
use GuzzleHttp\Promise;
use GuzzleHttp\Psr7;
-use Psr\Http\Message\UriInterface;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseInterface;
+use Psr\Http\Message\UriInterface;
/**
* @method ResponseInterface get(string|UriInterface $uri, array $options = [])
@@ -75,6 +76,12 @@ class Client implements ClientInterface
$this->configureDefaults($config);
}
+ /**
+ * @param string $method
+ * @param array $args
+ *
+ * @return Promise\PromiseInterface
+ */
public function __call($method, $args)
{
if (count($args) < 1) {
@@ -89,6 +96,14 @@ class Client implements ClientInterface
: $this->request($method, $uri, $opts);
}
+ /**
+ * Asynchronously send an HTTP request.
+ *
+ * @param array $options Request options to apply to the given
+ * request and to the transfer. See \GuzzleHttp\RequestOptions.
+ *
+ * @return PromiseInterface
+ */
public function sendAsync(RequestInterface $request, array $options = [])
{
// Merge the base URI into the request URI if needed.
@@ -100,12 +115,35 @@ class Client implements ClientInterface
);
}
+ /**
+ * Send an HTTP request.
+ *
+ * @param array $options Request options to apply to the given
+ * request and to the transfer. See \GuzzleHttp\RequestOptions.
+ *
+ * @return ResponseInterface
+ * @throws GuzzleException
+ */
public function send(RequestInterface $request, array $options = [])
{
$options[RequestOptions::SYNCHRONOUS] = true;
return $this->sendAsync($request, $options)->wait();
}
+ /**
+ * Create and send an asynchronous HTTP request.
+ *
+ * Use an absolute path to override the base path of the client, or a
+ * relative path to append to the base path of the client. The URL can
+ * contain the query string as well. Use an array to provide a URL
+ * template and additional variables to use in the URL template expansion.
+ *
+ * @param string $method HTTP method
+ * @param string|UriInterface $uri URI object or string.
+ * @param array $options Request options to apply. See \GuzzleHttp\RequestOptions.
+ *
+ * @return PromiseInterface
+ */
public function requestAsync($method, $uri = '', array $options = [])
{
$options = $this->prepareDefaults($options);
@@ -125,12 +163,37 @@ class Client implements ClientInterface
return $this->transfer($request, $options);
}
+ /**
+ * Create and send an HTTP request.
+ *
+ * Use an absolute path to override the base path of the client, or a
+ * relative path to append to the base path of the client. The URL can
+ * contain the query string as well.
+ *
+ * @param string $method HTTP method.
+ * @param string|UriInterface $uri URI object or string.
+ * @param array $options Request options to apply. See \GuzzleHttp\RequestOptions.
+ *
+ * @return ResponseInterface
+ * @throws GuzzleException
+ */
public function request($method, $uri = '', array $options = [])
{
$options[RequestOptions::SYNCHRONOUS] = true;
return $this->requestAsync($method, $uri, $options)->wait();
}
+ /**
+ * Get a client configuration option.
+ *
+ * These options include default request options of the client, a "handler"
+ * (if utilized by the concrete client), and a "base_uri" if utilized by
+ * the concrete client.
+ *
+ * @param string|null $option The config option to retrieve.
+ *
+ * @return mixed
+ */
public function getConfig($option = null)
{
return $option === null
@@ -138,6 +201,11 @@ class Client implements ClientInterface
: (isset($this->config[$option]) ? $this->config[$option] : null);
}
+ /**
+ * @param string|null $uri
+ *
+ * @return UriInterface
+ */
private function buildUri($uri, array $config)
{
// for BC we accept null which would otherwise fail in uri_for
@@ -147,6 +215,38 @@ class Client implements ClientInterface
$uri = Psr7\UriResolver::resolve(Psr7\uri_for($config['base_uri']), $uri);
}
+ if ($uri->getHost() && isset($config['idn_conversion']) && ($config['idn_conversion'] !== false)) {
+ $idnOptions = ($config['idn_conversion'] === true) ? IDNA_DEFAULT : $config['idn_conversion'];
+
+ $asciiHost = idn_to_ascii($uri->getHost(), $idnOptions, INTL_IDNA_VARIANT_UTS46, $info);
+ if ($asciiHost === false) {
+ $errorBitSet = isset($info['errors']) ? $info['errors'] : 0;
+
+ $errorConstants = array_filter(array_keys(get_defined_constants()), function ($name) {
+ return substr($name, 0, 11) === 'IDNA_ERROR_';
+ });
+
+ $errors = [];
+ foreach ($errorConstants as $errorConstant) {
+ if ($errorBitSet & constant($errorConstant)) {
+ $errors[] = $errorConstant;
+ }
+ }
+
+ $errorMessage = 'IDN conversion failed';
+ if ($errors) {
+ $errorMessage .= ' (errors: ' . implode(', ', $errors) . ')';
+ }
+
+ throw new InvalidArgumentException($errorMessage);
+ } else {
+ if ($uri->getHost() !== $asciiHost) {
+ // Replace URI only if the ASCII version is different
+ $uri = $uri->withHost($asciiHost);
+ }
+ }
+ }
+
return $uri->getScheme() === '' && $uri->getHost() !== '' ? $uri->withScheme('http') : $uri;
}
@@ -154,6 +254,7 @@ class Client implements ClientInterface
* Configures the default options for a client.
*
* @param array $config
+ * @return void
*/
private function configureDefaults(array $config)
{
@@ -165,12 +266,15 @@ class Client implements ClientInterface
'cookies' => false
];
+ // idn_to_ascii() is a part of ext-intl and might be not available
+ $defaults['idn_conversion'] = function_exists('idn_to_ascii');
+
// Use the standard Linux HTTP_PROXY and HTTPS_PROXY if set.
// We can only trust the HTTP_PROXY environment variable in a CLI
// process due to the fact that PHP has no reliable mechanism to
// get environment variables that start with "HTTP_".
- if (php_sapi_name() == 'cli' && getenv('HTTP_PROXY')) {
+ if (php_sapi_name() === 'cli' && getenv('HTTP_PROXY')) {
$defaults['proxy']['http'] = getenv('HTTP_PROXY');
}
@@ -225,7 +329,7 @@ class Client implements ClientInterface
if (array_key_exists('headers', $options)) {
// Allows default headers to be unset.
if ($options['headers'] === null) {
- $defaults['_conditional'] = null;
+ $defaults['_conditional'] = [];
unset($options['headers']);
} elseif (!is_array($options['headers'])) {
throw new \InvalidArgumentException('headers must be an array');
@@ -251,8 +355,7 @@ class Client implements ClientInterface
* The URI of the request is not modified and the request options are used
* as-is without merging in default options.
*
- * @param RequestInterface $request
- * @param array $options
+ * @param array $options See \GuzzleHttp\RequestOptions.
*
* @return Promise\PromiseInterface
*/
@@ -271,6 +374,7 @@ class Client implements ClientInterface
}
$request = $this->applyOptions($request, $options);
+ /** @var HandlerStack $handler */
$handler = $options['handler'];
try {
@@ -411,6 +515,11 @@ class Client implements ClientInterface
return $request;
}
+ /**
+ * Throw Exception with pre-set message.
+ * @return void
+ * @throws InvalidArgumentException Invalid body.
+ */
private function invalidBody()
{
throw new \InvalidArgumentException('Passing in the "body" request '
diff --git a/vendor/guzzlehttp/guzzle/src/ClientInterface.php b/vendor/guzzlehttp/guzzle/src/ClientInterface.php
index 5b37085149..0829b3607a 100644
--- a/vendor/guzzlehttp/guzzle/src/ClientInterface.php
+++ b/vendor/guzzlehttp/guzzle/src/ClientInterface.php
@@ -1,8 +1,8 @@
<?php
namespace GuzzleHttp;
-use GuzzleHttp\Promise\PromiseInterface;
use GuzzleHttp\Exception\GuzzleException;
+use GuzzleHttp\Promise\PromiseInterface;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\UriInterface;
@@ -12,7 +12,10 @@ use Psr\Http\Message\UriInterface;
*/
interface ClientInterface
{
- const VERSION = '6.4.1';
+ /**
+ * @deprecated Will be removed in Guzzle 7.0.0
+ */
+ const VERSION = '6.5.0';
/**
* Send an HTTP request.
diff --git a/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php b/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php
index 2862642613..38f98ad7c0 100644
--- a/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php
+++ b/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php
@@ -94,8 +94,8 @@ class CookieJar implements CookieJarInterface
*/
public function getCookieByName($name)
{
- // don't allow a null name
- if ($name === null) {
+ // don't allow a non string name
+ if ($name === null || !is_scalar($name)) {
return null;
}
foreach ($this->cookies as $cookie) {
@@ -103,6 +103,8 @@ class CookieJar implements CookieJarInterface
return $cookie;
}
}
+
+ return null;
}
public function toArray()
diff --git a/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php b/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php
index 2cf298a867..6ee11885e1 100644
--- a/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php
+++ b/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php
@@ -58,9 +58,9 @@ interface CookieJarInterface extends \Countable, \IteratorAggregate
* arguments, then the cookie with the specified name, path and domain is
* removed.
*
- * @param string $domain Clears cookies matching a domain
- * @param string $path Clears cookies matching a domain and path
- * @param string $name Clears cookies matching a domain, path, and name
+ * @param string|null $domain Clears cookies matching a domain
+ * @param string|null $path Clears cookies matching a domain and path
+ * @param string|null $name Clears cookies matching a domain, path, and name
*
* @return CookieJarInterface
*/
diff --git a/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php b/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php
index f38ca8646f..12dd081eb6 100644
--- a/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php
+++ b/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php
@@ -1,9 +1,9 @@
<?php
namespace GuzzleHttp\Exception;
+use GuzzleHttp\Promise\PromiseInterface;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseInterface;
-use GuzzleHttp\Promise\PromiseInterface;
use Psr\Http\Message\UriInterface;
/**
@@ -14,7 +14,7 @@ class RequestException extends TransferException
/** @var RequestInterface */
private $request;
- /** @var ResponseInterface */
+ /** @var ResponseInterface|null */
private $response;
/** @var array */
@@ -124,42 +124,17 @@ class RequestException extends TransferException
*/
public static function getResponseBodySummary(ResponseInterface $response)
{
- $body = $response->getBody();
-
- if (!$body->isSeekable() || !$body->isReadable()) {
- return null;
- }
-
- $size = $body->getSize();
-
- if ($size === 0) {
- return null;
- }
-
- $summary = $body->read(120);
- $body->rewind();
-
- if ($size > 120) {
- $summary .= ' (truncated...)';
- }
-
- // Matches any printable character, including unicode characters:
- // letters, marks, numbers, punctuation, spacing, and separators.
- if (preg_match('/[^\pL\pM\pN\pP\pS\pZ\n\r\t]/', $summary)) {
- return null;
- }
-
- return $summary;
+ return \GuzzleHttp\Psr7\get_message_body_summary($response);
}
/**
- * Obfuscates URI if there is an username and a password present
+ * Obfuscates URI if there is a username and a password present
*
* @param UriInterface $uri
*
* @return UriInterface
*/
- private static function obfuscateUri($uri)
+ private static function obfuscateUri(UriInterface $uri)
{
$userInfo = $uri->getUserInfo();
diff --git a/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php b/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php
index e349bb4c49..4a28a96ebc 100644
--- a/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php
+++ b/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php
@@ -1,8 +1,8 @@
<?php
namespace GuzzleHttp\Handler;
-use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Exception\ConnectException;
+use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Promise\FulfilledPromise;
use GuzzleHttp\Psr7;
use GuzzleHttp\Psr7\LazyOpenStream;
@@ -454,11 +454,16 @@ class CurlFactory implements CurlFactoryInterface
}
if (isset($options['ssl_key'])) {
- $sslKey = $options['ssl_key'];
- if (is_array($sslKey)) {
- $conf[CURLOPT_SSLKEYPASSWD] = $sslKey[1];
- $sslKey = $sslKey[0];
+ if (is_array($options['ssl_key'])) {
+ if (count($options['ssl_key']) === 2) {
+ list($sslKey, $conf[CURLOPT_SSLKEYPASSWD]) = $options['ssl_key'];
+ } else {
+ list($sslKey) = $options['ssl_key'];
+ }
}
+
+ $sslKey = isset($sslKey) ? $sslKey: $options['ssl_key'];
+
if (!file_exists($sslKey)) {
throw new \InvalidArgumentException(
"SSL private key not found: {$sslKey}"
diff --git a/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php b/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php
index d8297623ce..b73e5c72d4 100644
--- a/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php
+++ b/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php
@@ -1,9 +1,9 @@
<?php
namespace GuzzleHttp\Handler;
+use GuzzleHttp\Exception\InvalidArgumentException;
use GuzzleHttp\Promise as P;
use GuzzleHttp\Promise\Promise;
-use GuzzleHttp\Psr7;
use Psr\Http\Message\RequestInterface;
/**
@@ -23,6 +23,7 @@ class CurlMultiHandler
private $active;
private $handles = [];
private $delays = [];
+ private $options = [];
/**
* This handler accepts the following options:
@@ -30,6 +31,8 @@ class CurlMultiHandler
* - handle_factory: An optional factory used to create curl handles
* - select_timeout: Optional timeout (in seconds) to block before timing
* out while selecting curl handles. Defaults to 1 second.
+ * - options: An associative array of CURLMOPT_* options and
+ * corresponding values for curl_multi_setopt()
*
* @param array $options
*/
@@ -45,12 +48,23 @@ class CurlMultiHandler
} else {
$this->selectTimeout = 1;
}
+
+ $this->options = isset($options['options']) ? $options['options'] : [];
}
public function __get($name)
{
if ($name === '_mh') {
- return $this->_mh = curl_multi_init();
+ $this->_mh = curl_multi_init();
+
+ foreach ($this->options as $option => $value) {
+ // A warning is raised in case of a wrong option.
+ curl_multi_setopt($this->_mh, $option, $value);
+ }
+
+ // Further calls to _mh will return the value directly, without entering the
+ // __get() method at all.
+ return $this->_mh;
}
throw new \BadMethodCallException();
diff --git a/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php b/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php
index d5c449c1da..5b312bc042 100644
--- a/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php
+++ b/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php
@@ -66,7 +66,7 @@ class MockHandler implements \Countable
throw new \OutOfBoundsException('Mock queue is empty');
}
- if (isset($options['delay'])) {
+ if (isset($options['delay']) && is_numeric($options['delay'])) {
usleep($options['delay'] * 1000);
}
@@ -175,6 +175,11 @@ class MockHandler implements \Countable
return count($this->queue);
}
+ public function reset()
+ {
+ $this->queue = [];
+ }
+
private function invokeStats(
RequestInterface $request,
array $options,
diff --git a/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php b/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php
index 0dedd7da44..a8eba3786b 100644
--- a/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php
+++ b/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php
@@ -1,8 +1,8 @@
<?php
namespace GuzzleHttp\Handler;
-use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Exception\ConnectException;
+use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Promise\FulfilledPromise;
use GuzzleHttp\Promise\PromiseInterface;
use GuzzleHttp\Psr7;
diff --git a/vendor/guzzlehttp/guzzle/src/HandlerStack.php b/vendor/guzzlehttp/guzzle/src/HandlerStack.php
index f0016861e5..6a49cc0690 100644
--- a/vendor/guzzlehttp/guzzle/src/HandlerStack.php
+++ b/vendor/guzzlehttp/guzzle/src/HandlerStack.php
@@ -1,7 +1,9 @@
<?php
namespace GuzzleHttp;
+use GuzzleHttp\Promise\PromiseInterface;
use Psr\Http\Message\RequestInterface;
+use Psr\Http\Message\ResponseInterface;
/**
* Creates a composed Guzzle handler function by stacking middlewares on top of
@@ -9,7 +11,7 @@ use Psr\Http\Message\RequestInterface;
*/
class HandlerStack
{
- /** @var callable */
+ /** @var callable|null */
private $handler;
/** @var array */
@@ -59,6 +61,8 @@ class HandlerStack
*
* @param RequestInterface $request
* @param array $options
+ *
+ * @return ResponseInterface|PromiseInterface
*/
public function __invoke(RequestInterface $request, array $options)
{
diff --git a/vendor/guzzlehttp/guzzle/src/MessageFormatter.php b/vendor/guzzlehttp/guzzle/src/MessageFormatter.php
index 663ac73916..dc36bb524d 100644
--- a/vendor/guzzlehttp/guzzle/src/MessageFormatter.php
+++ b/vendor/guzzlehttp/guzzle/src/MessageFormatter.php
@@ -168,6 +168,11 @@ class MessageFormatter
);
}
+ /**
+ * Get headers from message as string
+ *
+ * @return string
+ */
private function headers(MessageInterface $message)
{
$result = '';
diff --git a/vendor/guzzlehttp/guzzle/src/Pool.php b/vendor/guzzlehttp/guzzle/src/Pool.php
index 05c854aeb3..ec7df6c0e0 100644
--- a/vendor/guzzlehttp/guzzle/src/Pool.php
+++ b/vendor/guzzlehttp/guzzle/src/Pool.php
@@ -1,9 +1,9 @@
<?php
namespace GuzzleHttp;
+use GuzzleHttp\Promise\EachPromise;
use GuzzleHttp\Promise\PromisorInterface;
use Psr\Http\Message\RequestInterface;
-use GuzzleHttp\Promise\EachPromise;
/**
* Sends an iterator of requests concurrently using a capped pool size.
@@ -69,6 +69,10 @@ class Pool implements PromisorInterface
$this->each = new EachPromise($requests(), $config);
}
+ /**
+ * Get promise
+ * @return GuzzleHttp\Promise\Promise
+ */
public function promise()
{
return $this->each->promise();
@@ -106,6 +110,11 @@ class Pool implements PromisorInterface
return $res;
}
+ /**
+ * Execute callback(s)
+ *
+ * @return void
+ */
private static function cmpCallback(array &$options, $name, array &$results)
{
if (!isset($options[$name])) {
diff --git a/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php b/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php
index 2eb95f9b2d..568a1e906c 100644
--- a/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php
+++ b/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php
@@ -66,6 +66,11 @@ class PrepareBodyMiddleware
return $fn(Psr7\modify_request($request, $modify), $options);
}
+ /**
+ * Add expect header
+ *
+ * @return void
+ */
private function addExpectHeader(
RequestInterface $request,
array $options,
diff --git a/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php b/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php
index bff4e4e8ae..5a0edd5728 100644
--- a/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php
+++ b/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php
@@ -76,7 +76,7 @@ class RedirectMiddleware
/**
* @param RequestInterface $request
* @param array $options
- * @param ResponseInterface|PromiseInterface $response
+ * @param ResponseInterface $response
*
* @return ResponseInterface|PromiseInterface
*/
@@ -118,6 +118,11 @@ class RedirectMiddleware
return $promise;
}
+ /**
+ * Enable tracking on promise.
+ *
+ * @return PromiseInterface
+ */
private function withTracking(PromiseInterface $promise, $uri, $statusCode)
{
return $promise->then(
@@ -135,6 +140,13 @@ class RedirectMiddleware
);
}
+ /**
+ * Check for too many redirects
+ *
+ * @return void
+ *
+ * @throws TooManyRedirectsException Too many redirects.
+ */
private function guardMax(RequestInterface $request, array &$options)
{
$current = isset($options['__redirect_count'])
@@ -172,7 +184,7 @@ class RedirectMiddleware
// would do.
$statusCode = $response->getStatusCode();
if ($statusCode == 303 ||
- ($statusCode <= 302 && $request->getBody() && !$options['allow_redirects']['strict'])
+ ($statusCode <= 302 && !$options['allow_redirects']['strict'])
) {
$modify['method'] = 'GET';
$modify['body'] = '';
diff --git a/vendor/guzzlehttp/guzzle/src/RequestOptions.php b/vendor/guzzlehttp/guzzle/src/RequestOptions.php
index 5c0fd19d31..355f658f03 100644
--- a/vendor/guzzlehttp/guzzle/src/RequestOptions.php
+++ b/vendor/guzzlehttp/guzzle/src/RequestOptions.php
@@ -133,6 +133,14 @@ final class RequestOptions
const HTTP_ERRORS = 'http_errors';
/**
+ * idn: (bool|int, default=true) A combination of IDNA_* constants for
+ * idn_to_ascii() PHP's function (see "options" parameter). Set to false to
+ * disable IDN support completely, or to true to use the default
+ * configuration (IDNA_DEFAULT constant).
+ */
+ const IDN_CONVERSION = 'idn_conversion';
+
+ /**
* json: (mixed) Adds JSON data to a request. The provided value is JSON
* encoded and a Content-Type header of application/json will be added to
* the request if no Content-Type header is already present.
diff --git a/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php b/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php
index 7d40ecaf85..5acc8c5c39 100644
--- a/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php
+++ b/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php
@@ -47,11 +47,11 @@ class RetryMiddleware
*
* @param int $retries
*
- * @return int
+ * @return int milliseconds.
*/
public static function exponentialDelay($retries)
{
- return (int) pow(2, $retries - 1);
+ return (int) pow(2, $retries - 1) * 1000;
}
/**
@@ -74,6 +74,11 @@ class RetryMiddleware
);
}
+ /**
+ * Execute fulfilled closure
+ *
+ * @return mixed
+ */
private function onFulfilled(RequestInterface $req, array $options)
{
return function ($value) use ($req, $options) {
@@ -90,6 +95,11 @@ class RetryMiddleware
};
}
+ /**
+ * Execute rejected closure
+ *
+ * @return callable
+ */
private function onRejected(RequestInterface $req, array $options)
{
return function ($reason) use ($req, $options) {
@@ -106,6 +116,9 @@ class RetryMiddleware
};
}
+ /**
+ * @return self
+ */
private function doRetry(RequestInterface $request, array $options, ResponseInterface $response = null)
{
$options['delay'] = call_user_func($this->delay, ++$options['retries'], $response);
diff --git a/vendor/guzzlehttp/guzzle/src/TransferStats.php b/vendor/guzzlehttp/guzzle/src/TransferStats.php
index 23a22a336d..87fb3c0016 100644
--- a/vendor/guzzlehttp/guzzle/src/TransferStats.php
+++ b/vendor/guzzlehttp/guzzle/src/TransferStats.php
@@ -18,11 +18,11 @@ final class TransferStats
private $handlerErrorData;
/**
- * @param RequestInterface $request Request that was sent.
- * @param ResponseInterface $response Response received (if any)
- * @param float|null $transferTime Total handler transfer time.
- * @param mixed $handlerErrorData Handler error data.
- * @param array $handlerStats Handler specific stats.
+ * @param RequestInterface $request Request that was sent.
+ * @param ResponseInterface|null $response Response received (if any)
+ * @param float|null $transferTime Total handler transfer time.
+ * @param mixed $handlerErrorData Handler error data.
+ * @param array $handlerStats Handler specific stats.
*/
public function __construct(
RequestInterface $request,
@@ -93,7 +93,7 @@ final class TransferStats
/**
* Get the estimated time the request was being transferred by the handler.
*
- * @return float Time in seconds.
+ * @return float|null Time in seconds.
*/
public function getTransferTime()
{
diff --git a/vendor/guzzlehttp/guzzle/src/functions.php b/vendor/guzzlehttp/guzzle/src/functions.php
index 51d736d88d..aff69d557a 100644
--- a/vendor/guzzlehttp/guzzle/src/functions.php
+++ b/vendor/guzzlehttp/guzzle/src/functions.php
@@ -56,7 +56,7 @@ function describe_type($input)
/**
* Parses an array of header lines into an associative array of headers.
*
- * @param array $lines Header lines array of strings in the following
+ * @param iterable $lines Header lines array of strings in the following
* format: "Name: Value"
* @return array
*/