From 54ec6723deb44e325782afd366eeec01ee29ac55 Mon Sep 17 00:00:00 2001 From: EoleDev Date: Wed, 23 Mar 2016 15:30:47 +0100 Subject: [PATCH] Maj Library --- server/composer.json | 3 +- server/composer.lock | 48 ++-- server/vendor/composer/installed.json | 240 +++++++++--------- server/vendor/guzzlehttp/guzzle/.travis.yml | 3 +- server/vendor/guzzlehttp/guzzle/CHANGELOG.md | 19 ++ server/vendor/guzzlehttp/guzzle/LICENSE | 2 +- server/vendor/guzzlehttp/guzzle/README.md | 2 +- server/vendor/guzzlehttp/guzzle/composer.json | 2 +- .../vendor/guzzlehttp/guzzle/src/Client.php | 9 +- .../guzzlehttp/guzzle/src/ClientInterface.php | 10 +- .../guzzle/src/Cookie/CookieJar.php | 18 +- .../guzzle/src/Cookie/FileCookieJar.php | 9 +- .../guzzle/src/Handler/CurlFactory.php | 3 + .../guzzle/src/Handler/CurlMultiHandler.php | 2 +- .../guzzle/src/Handler/EasyHandle.php | 5 + .../guzzle/src/Handler/MockHandler.php | 2 +- .../guzzle/src/Handler/StreamHandler.php | 7 +- .../guzzlehttp/guzzle/src/Middleware.php | 7 +- .../guzzlehttp/guzzle/src/functions.php | 46 ++++ .../vendor/php-opencloud/common/.travis.yml | 30 +++ .../common/src/Common/Api/AbstractApi.php | 12 +- .../common/src/Common/Api/AbstractParams.php | 20 +- .../common/src/Common/Api/ApiInterface.php | 2 +- .../common/src/Common/Api/Operation.php | 22 +- .../common/src/Common/Api/Operator.php | 18 +- .../src/Common/Api/OperatorInterface.php | 11 +- .../common/src/Common/Api/Parameter.php | 48 ++-- .../common/src/Common/ArrayAccessTrait.php | 8 +- .../common/src/Common/Auth/AuthHandler.php | 7 +- .../common/src/Common/Auth/Catalog.php | 4 +- .../src/Common/Auth/IdentityService.php | 4 +- .../common/src/Common/Auth/Token.php | 6 +- .../src/Common/Error/BadResponseError.php | 6 +- .../common/src/Common/Error/BaseError.php | 2 +- .../common/src/Common/Error/Builder.php | 14 +- .../src/Common/Error/NotImplementedError.php | 2 +- .../src/Common/Error/UserInputError.php | 2 +- .../src/Common/HydratorStrategyTrait.php | 4 +- .../common/src/Common/JsonPath.php | 13 +- .../src/Common/JsonSchema/JsonPatch.php | 18 +- .../common/src/Common/JsonSchema/Schema.php | 15 +- .../src/Common/Resource/AbstractResource.php | 24 +- .../common/src/Common/Resource/Creatable.php | 4 +- .../common/src/Common/Resource/Deletable.php | 2 +- .../src/Common/Resource/HasMetadata.php | 10 +- .../src/Common/Resource/HasWaiterTrait.php | 10 +- .../common/src/Common/Resource/Iterator.php | 2 +- .../common/src/Common/Resource/Listable.php | 2 +- .../src/Common/Resource/ResourceInterface.php | 2 +- .../src/Common/Resource/Retrievable.php | 2 +- .../common/src/Common/Resource/Updateable.php | 2 +- .../src/Common/Service/AbstractService.php | 2 +- .../common/src/Common/Service/Builder.php | 40 ++- .../src/Common/Service/ServiceInterface.php | 2 +- .../src/Common/Transport/HandlerStack.php | 4 +- .../src/Common/Transport/JsonSerializer.php | 12 +- .../src/Common/Transport/Middleware.php | 20 +- .../Common/Transport/RequestSerializer.php | 4 +- .../common/src/Common/Transport/Utils.php | 14 +- .../tests/integration/DefaultLogger.php | 2 +- .../common/tests/integration/Runner.php | 12 +- .../integration/SampleManagerInterface.php | 2 +- .../common/tests/integration/TestCase.php | 2 +- .../tests/integration/TestInterface.php | 2 +- .../common/tests/integration/Utils.php | 48 +--- .../common/tests/integration/run.php | 10 - .../tests/unit/Common/Api/OperatorTest.php | 3 +- .../unit/Common/Auth/AuthHandlerTest.php | 10 +- .../unit/Common/JsonSchema/SchemaTest.php | 4 +- .../Common/Transport/JsonSerializerTest.php | 8 +- .../tests/unit/Fixtures/ComputeV2Api.php | 12 +- server/vendor/php-opencloud/openstack | 2 +- 72 files changed, 525 insertions(+), 455 deletions(-) mode change 100644 => 100755 server/composer.json create mode 100644 server/vendor/php-opencloud/common/.travis.yml delete mode 100644 server/vendor/php-opencloud/common/tests/integration/run.php diff --git a/server/composer.json b/server/composer.json old mode 100644 new mode 100755 index 9d44d6e..d5e2dbc --- a/server/composer.json +++ b/server/composer.json @@ -1,6 +1,5 @@ { "require": { - "php-opencloud/openstack": "dev-master", - "php-opencloud/common": "dev-master" + "php-opencloud/openstack": "dev-master" } } diff --git a/server/composer.lock b/server/composer.lock index 6ab8a7f..7d11e49 100644 --- a/server/composer.lock +++ b/server/composer.lock @@ -4,21 +4,21 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "7647ed348aee68f2db6b71e4d2fb1fe7", - "content-hash": "82731500d050a65f09e92b70c1f96ea9", + "hash": "e7cbd5d3df36fb1a3f3378b837068196", + "content-hash": "125e4702f7a417475a4150c889ac6c3d", "packages": [ { "name": "guzzlehttp/guzzle", - "version": "6.1.1", + "version": "6.2.0", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "c6851d6e48f63b69357cbfa55bca116448140e0c" + "reference": "d094e337976dff9d8e2424e8485872194e768662" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/c6851d6e48f63b69357cbfa55bca116448140e0c", - "reference": "c6851d6e48f63b69357cbfa55bca116448140e0c", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d094e337976dff9d8e2424e8485872194e768662", + "reference": "d094e337976dff9d8e2424e8485872194e768662", "shasum": "" }, "require": { @@ -34,7 +34,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "6.1-dev" + "dev-master": "6.2-dev" } }, "autoload": { @@ -67,7 +67,7 @@ "rest", "web service" ], - "time": "2015-11-23 00:47:50" + "time": "2016-03-21 20:02:09" }, { "name": "guzzlehttp/promises", @@ -246,16 +246,16 @@ }, { "name": "php-opencloud/common", - "version": "dev-master", + "version": "v1.0.2", "source": { "type": "git", "url": "https://github.com/php-opencloud/common.git", - "reference": "fd027b817c3dd8f83b0c8d9fb1df34ebf25f8c62" + "reference": "4a4aec0a4f35b471570271dd1a2e52667dee62b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-opencloud/common/zipball/fd027b817c3dd8f83b0c8d9fb1df34ebf25f8c62", - "reference": "fd027b817c3dd8f83b0c8d9fb1df34ebf25f8c62", + "url": "https://api.github.com/repos/php-opencloud/common/zipball/4a4aec0a4f35b471570271dd1a2e52667dee62b8", + "reference": "4a4aec0a4f35b471570271dd1a2e52667dee62b8", "shasum": "" }, "require": { @@ -287,7 +287,7 @@ "homepage": "https://github.com/jamiehannaford" } ], - "time": "2016-03-08 12:56:34" + "time": "2016-03-18 13:45:42" }, { "name": "php-opencloud/openstack", @@ -295,25 +295,16 @@ "source": { "type": "git", "url": "https://github.com/php-opencloud/openstack.git", - "reference": "f2ee77024843659d970817a9e7055bb40a3724f9" + "reference": "61626420361a1dab3ed6f9455e1057bda18cc335" }, "dist": { "type": "zip", -<<<<<<< HEAD -<<<<<<< Updated upstream - "url": "https://api.github.com/repos/php-opencloud/openstack/zipball/15aca73f423166c7ef8337ba08615c103c66e931", -======= - "url": "https://api.github.com/repos/php-opencloud/openstack/zipball/f2ee77024843659d970817a9e7055bb40a3724f9", ->>>>>>> develop - "reference": "15aca73f423166c7ef8337ba08615c103c66e931", -======= - "url": "https://api.github.com/repos/php-opencloud/openstack/zipball/f2ee77024843659d970817a9e7055bb40a3724f9", - "reference": "f2ee77024843659d970817a9e7055bb40a3724f9", ->>>>>>> Stashed changes + "url": "https://api.github.com/repos/php-opencloud/openstack/zipball/61626420361a1dab3ed6f9455e1057bda18cc335", + "reference": "61626420361a1dab3ed6f9455e1057bda18cc335", "shasum": "" }, "require": { - "php-opencloud/common": "dev-master" + "php-opencloud/common": "~1.0" }, "require-dev": { "fabpot/php-cs-fixer": "~1.0", @@ -337,7 +328,7 @@ "homepage": "https://github.com/jamiehannaford" } ], - "time": "2016-03-08 14:37:14" + "time": "2016-03-20 10:57:06" }, { "name": "psr/http-message", @@ -393,8 +384,7 @@ "aliases": [], "minimum-stability": "stable", "stability-flags": { - "php-opencloud/openstack": 20, - "php-opencloud/common": 20 + "php-opencloud/openstack": 20 }, "prefer-stable": false, "prefer-lowest": false, diff --git a/server/vendor/composer/installed.json b/server/vendor/composer/installed.json index 8f06408..450bbfb 100644 --- a/server/vendor/composer/installed.json +++ b/server/vendor/composer/installed.json @@ -50,70 +50,6 @@ "response" ] }, - { - "name": "guzzlehttp/guzzle", - "version": "6.1.1", - "version_normalized": "6.1.1.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "c6851d6e48f63b69357cbfa55bca116448140e0c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/c6851d6e48f63b69357cbfa55bca116448140e0c", - "reference": "c6851d6e48f63b69357cbfa55bca116448140e0c", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "~1.0", - "guzzlehttp/psr7": "~1.1", - "php": ">=5.5.0" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "~4.0", - "psr/log": "~1.0" - }, - "time": "2015-11-23 00:47:50", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.1-dev" - } - }, - "installation-source": "dist", - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ] - }, { "name": "justinrainbow/json-schema", "version": "1.6.1", @@ -182,53 +118,6 @@ "schema" ] }, - { - "name": "php-opencloud/common", - "version": "dev-master", - "version_normalized": "9999999-dev", - "source": { - "type": "git", - "url": "https://github.com/php-opencloud/common.git", - "reference": "fd027b817c3dd8f83b0c8d9fb1df34ebf25f8c62" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-opencloud/common/zipball/fd027b817c3dd8f83b0c8d9fb1df34ebf25f8c62", - "reference": "fd027b817c3dd8f83b0c8d9fb1df34ebf25f8c62", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~6.1", - "justinrainbow/json-schema": "~1.3", - "php": "~7.0" - }, - "require-dev": { - "fabpot/php-cs-fixer": "~1.0", - "jakub-onderka/php-parallel-lint": "0.*", - "phpunit/phpunit": "~4.0", - "psr/log": "~1.0", - "sami/sami": "dev-master", - "satooshi/php-coveralls": "~1.0" - }, - "time": "2016-03-08 12:56:34", - "type": "library", - "installation-source": "source", - "autoload": { - "psr-4": { - "OpenCloud\\": "src/", - "OpenCloud\\Test\\": "tests/unit/", - "OpenCloud\\Integration\\": "tests/integration/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "authors": [ - { - "name": "Jamie Hannaford", - "email": "jamie.hannaford@rackspace.com", - "homepage": "https://github.com/jamiehannaford" - } - ] - }, { "name": "guzzlehttp/promises", "version": "1.1.0", @@ -343,22 +232,88 @@ ] }, { - "name": "php-opencloud/openstack", - "version": "dev-master", - "version_normalized": "9999999-dev", + "name": "guzzlehttp/guzzle", + "version": "6.2.0", + "version_normalized": "6.2.0.0", "source": { "type": "git", - "url": "https://github.com/php-opencloud/openstack.git", - "reference": "f2ee77024843659d970817a9e7055bb40a3724f9" + "url": "https://github.com/guzzle/guzzle.git", + "reference": "d094e337976dff9d8e2424e8485872194e768662" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-opencloud/openstack/zipball/f2ee77024843659d970817a9e7055bb40a3724f9", - "reference": "f2ee77024843659d970817a9e7055bb40a3724f9", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d094e337976dff9d8e2424e8485872194e768662", + "reference": "d094e337976dff9d8e2424e8485872194e768662", "shasum": "" }, "require": { - "php-opencloud/common": "dev-master" + "guzzlehttp/promises": "~1.0", + "guzzlehttp/psr7": "~1.1", + "php": ">=5.5.0" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "~4.0", + "psr/log": "~1.0" + }, + "time": "2016-03-21 20:02:09", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.2-dev" + } + }, + "installation-source": "dist", + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" + ] + }, + { + "name": "php-opencloud/common", + "version": "v1.0.2", + "version_normalized": "1.0.2.0", + "source": { + "type": "git", + "url": "https://github.com/php-opencloud/common.git", + "reference": "4a4aec0a4f35b471570271dd1a2e52667dee62b8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-opencloud/common/zipball/4a4aec0a4f35b471570271dd1a2e52667dee62b8", + "reference": "4a4aec0a4f35b471570271dd1a2e52667dee62b8", + "shasum": "" + }, + "require": { + "guzzlehttp/guzzle": "~6.1", + "justinrainbow/json-schema": "~1.3", + "php": "~7.0" }, "require-dev": { "fabpot/php-cs-fixer": "~1.0", @@ -368,7 +323,52 @@ "sami/sami": "dev-master", "satooshi/php-coveralls": "~1.0" }, - "time": "2016-03-08 14:37:14", + "time": "2016-03-18 13:45:42", + "type": "library", + "installation-source": "source", + "autoload": { + "psr-4": { + "OpenCloud\\": "src/", + "OpenCloud\\Test\\": "tests/unit/", + "OpenCloud\\Integration\\": "tests/integration/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "authors": [ + { + "name": "Jamie Hannaford", + "email": "jamie.hannaford@rackspace.com", + "homepage": "https://github.com/jamiehannaford" + } + ] + }, + { + "name": "php-opencloud/openstack", + "version": "dev-master", + "version_normalized": "9999999-dev", + "source": { + "type": "git", + "url": "https://github.com/php-opencloud/openstack.git", + "reference": "61626420361a1dab3ed6f9455e1057bda18cc335" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-opencloud/openstack/zipball/61626420361a1dab3ed6f9455e1057bda18cc335", + "reference": "61626420361a1dab3ed6f9455e1057bda18cc335", + "shasum": "" + }, + "require": { + "php-opencloud/common": "~1.0" + }, + "require-dev": { + "fabpot/php-cs-fixer": "~1.0", + "jakub-onderka/php-parallel-lint": "0.*", + "phpunit/phpunit": "~4.0", + "psr/log": "~1.0", + "sami/sami": "dev-master", + "satooshi/php-coveralls": "~1.0" + }, + "time": "2016-03-20 10:57:06", "type": "library", "installation-source": "source", "autoload": { diff --git a/server/vendor/guzzlehttp/guzzle/.travis.yml b/server/vendor/guzzlehttp/guzzle/.travis.yml index d2060f4..a4cd64c 100644 --- a/server/vendor/guzzlehttp/guzzle/.travis.yml +++ b/server/vendor/guzzlehttp/guzzle/.travis.yml @@ -14,16 +14,17 @@ before_script: - composer install --no-interaction --prefer-source --dev - ~/.nvm/nvm.sh install v0.6.14 - ~/.nvm/nvm.sh run v0.6.14 + - '[ "$TRAVIS_PHP_VERSION" != "7.0" ] || echo "xdebug.overload_var_dump = 1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini' script: make test matrix: allow_failures: - php: hhvm - - php: 7.0 fast_finish: true before_deploy: + - rvm 1.9.3 do gem install mime-types -v 2.6.2 - make package deploy: diff --git a/server/vendor/guzzlehttp/guzzle/CHANGELOG.md b/server/vendor/guzzlehttp/guzzle/CHANGELOG.md index 5b7669b..5c35854 100644 --- a/server/vendor/guzzlehttp/guzzle/CHANGELOG.md +++ b/server/vendor/guzzlehttp/guzzle/CHANGELOG.md @@ -1,5 +1,24 @@ # CHANGELOG +## 6.2.0 - 2016-03-21 + +* Feature: added `GuzzleHttp\json_encode` and `GuzzleHttp\json_decode`. + https://github.com/guzzle/guzzle/pull/1389 +* Bug fix: Fix sleep calculation when waiting for delayed requests. + https://github.com/guzzle/guzzle/pull/1324 +* Feature: More flexible history containers. + https://github.com/guzzle/guzzle/pull/1373 +* Bug fix: defer sink stream opening in StreamHandler. + https://github.com/guzzle/guzzle/pull/1377 +* Bug fix: do not attempt to escape cookie values. + https://github.com/guzzle/guzzle/pull/1406 +* Feature: report original content encoding and length on decoded responses. + https://github.com/guzzle/guzzle/pull/1409 +* Bug fix: rewind seekable request bodies before dispatching to cURL. + https://github.com/guzzle/guzzle/pull/1422 +* Bug fix: provide an empty string to `http_build_query` for HHVM workaround. + https://github.com/guzzle/guzzle/pull/1367 + ## 6.1.1 - 2015-11-22 * Bug fix: Proxy::wrapSync() now correctly proxies to the appropriate handler diff --git a/server/vendor/guzzlehttp/guzzle/LICENSE b/server/vendor/guzzlehttp/guzzle/LICENSE index 9af9fba..ea7f07c 100644 --- a/server/vendor/guzzlehttp/guzzle/LICENSE +++ b/server/vendor/guzzlehttp/guzzle/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2011-2015 Michael Dowling, https://github.com/mtdowling +Copyright (c) 2011-2016 Michael Dowling, https://github.com/mtdowling Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/server/vendor/guzzlehttp/guzzle/README.md b/server/vendor/guzzlehttp/guzzle/README.md index 3af1cc3..06e9497 100644 --- a/server/vendor/guzzlehttp/guzzle/README.md +++ b/server/vendor/guzzlehttp/guzzle/README.md @@ -24,7 +24,7 @@ $res = $client->request('GET', 'https://api.github.com/user', [ ]); echo $res->getStatusCode(); // 200 -echo $res->getHeader('content-type'); +echo $res->getHeaderLine('content-type'); // 'application/json; charset=utf8' echo $res->getBody(); // {"type":"User"...' diff --git a/server/vendor/guzzlehttp/guzzle/composer.json b/server/vendor/guzzlehttp/guzzle/composer.json index 1f8b070..f543372 100644 --- a/server/vendor/guzzlehttp/guzzle/composer.json +++ b/server/vendor/guzzlehttp/guzzle/composer.json @@ -35,7 +35,7 @@ }, "extra": { "branch-alias": { - "dev-master": "6.1-dev" + "dev-master": "6.2-dev" } } } diff --git a/server/vendor/guzzlehttp/guzzle/src/Client.php b/server/vendor/guzzlehttp/guzzle/src/Client.php index 2e86ece..9f7b0cf 100644 --- a/server/vendor/guzzlehttp/guzzle/src/Client.php +++ b/server/vendor/guzzlehttp/guzzle/src/Client.php @@ -93,7 +93,7 @@ class Client implements ClientInterface $options = $this->prepareDefaults($options); return $this->transfer( - $request->withUri($this->buildUri($request->getUri(), $options)), + $request->withUri($this->buildUri($request->getUri(), $options), $request->hasHeader('Host')), $options ); } @@ -173,7 +173,7 @@ class Client implements ClientInterface $cleanedNoProxy = str_replace(' ', '', $noProxy); $defaults['proxy']['no'] = explode(',', $cleanedNoProxy); } - + $this->config = $config + $defaults; if (!empty($config['cookies']) && $config['cookies'] === true) { @@ -291,7 +291,7 @@ class Client implements ClientInterface . 'x-www-form-urlencoded requests, and the multipart ' . 'option to send multipart/form-data requests.'); } - $options['body'] = http_build_query($options['form_params'], null, '&'); + $options['body'] = http_build_query($options['form_params'], '', '&'); unset($options['form_params']); $options['_conditional']['Content-Type'] = 'application/x-www-form-urlencoded'; } @@ -357,7 +357,8 @@ class Client implements ClientInterface } if (isset($options['json'])) { - $modify['body'] = Psr7\stream_for(json_encode($options['json'])); + $jsonStr = \GuzzleHttp\json_encode($options['json']); + $modify['body'] = Psr7\stream_for($jsonStr); $options['_conditional']['Content-Type'] = 'application/json'; unset($options['json']); } diff --git a/server/vendor/guzzlehttp/guzzle/src/ClientInterface.php b/server/vendor/guzzlehttp/guzzle/src/ClientInterface.php index 19068e1..5222dab 100644 --- a/server/vendor/guzzlehttp/guzzle/src/ClientInterface.php +++ b/server/vendor/guzzlehttp/guzzle/src/ClientInterface.php @@ -12,7 +12,7 @@ use Psr\Http\Message\UriInterface; */ interface ClientInterface { - const VERSION = '6.1.1'; + const VERSION = '6.2.0'; /** * Send an HTTP request. @@ -44,14 +44,14 @@ interface ClientInterface * 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. + * @param string $method HTTP method. + * @param string|UriInterface|null $uri URI object or string (default null). + * @param array $options Request options to apply. * * @return ResponseInterface * @throws GuzzleException */ - public function request($method, $uri, array $options = []); + public function request($method, $uri = null, array $options = []); /** * Create and send an asynchronous HTTP request. diff --git a/server/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php b/server/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php index 11421fe..0b932ae 100644 --- a/server/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php +++ b/server/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php @@ -5,7 +5,7 @@ use Psr\Http\Message\RequestInterface; use Psr\Http\Message\ResponseInterface; /** - * Cookie jar that stores cookies an an array + * Cookie jar that stores cookies as an array */ class CookieJar implements CookieJarInterface { @@ -58,22 +58,10 @@ class CookieJar implements CookieJarInterface } /** - * Quote the cookie value if it is not already quoted and it contains - * problematic characters. - * - * @param string $value Value that may or may not need to be quoted - * - * @return string + * @deprecated */ public static function getCookieValue($value) { - if (substr($value, 0, 1) !== '"' && - substr($value, -1, 1) !== '"' && - strpbrk($value, ';,=') - ) { - $value = '"' . $value . '"'; - } - return $value; } @@ -248,7 +236,7 @@ class CookieJar implements CookieJarInterface (!$cookie->getSecure() || $scheme == 'https') ) { $values[] = $cookie->getName() . '=' - . self::getCookieValue($cookie->getValue()); + . $cookie->getValue(); } } diff --git a/server/vendor/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php b/server/vendor/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php index e4e6248..9887c1d 100644 --- a/server/vendor/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php +++ b/server/vendor/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php @@ -11,7 +11,7 @@ class FileCookieJar extends CookieJar /** @var bool Control whether to persist session cookies or not. */ private $storeSessionCookies; - + /** * Create a new FileCookieJar object * @@ -55,7 +55,8 @@ class FileCookieJar extends CookieJar } } - if (false === file_put_contents($filename, json_encode($json))) { + $jsonStr = \GuzzleHttp\json_encode($json); + if (false === file_put_contents($filename, $jsonStr)) { throw new \RuntimeException("Unable to save file {$filename}"); } } @@ -73,9 +74,11 @@ class FileCookieJar extends CookieJar $json = file_get_contents($filename); if (false === $json) { throw new \RuntimeException("Unable to load file {$filename}"); + } elseif ($json === '') { + return; } - $data = json_decode($json, true); + $data = \GuzzleHttp\json_decode($json, true); if (is_array($data)) { foreach (json_decode($json, true) as $cookie) { $this->setCookie(new SetCookie($cookie)); diff --git a/server/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php b/server/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php index e8d9388..1091899 100644 --- a/server/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php +++ b/server/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php @@ -265,6 +265,9 @@ class CurlFactory implements CurlFactoryInterface $this->removeHeader('Content-Length', $conf); } $body = $request->getBody(); + if ($body->isSeekable()) { + $body->rewind(); + } $conf[CURLOPT_READFUNCTION] = function ($ch, $fd, $length) use ($body) { return $body->read($length); }; diff --git a/server/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php b/server/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php index 417850b..945d06e 100644 --- a/server/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php +++ b/server/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php @@ -192,6 +192,6 @@ class CurlMultiHandler } } - return max(0, $currentTime - $nextTime); + return max(0, $nextTime - $currentTime) * 1000000; } } diff --git a/server/vendor/guzzlehttp/guzzle/src/Handler/EasyHandle.php b/server/vendor/guzzlehttp/guzzle/src/Handler/EasyHandle.php index c4b927e..7754e91 100644 --- a/server/vendor/guzzlehttp/guzzle/src/Handler/EasyHandle.php +++ b/server/vendor/guzzlehttp/guzzle/src/Handler/EasyHandle.php @@ -56,8 +56,13 @@ final class EasyHandle if (!empty($this->options['decode_content']) && isset($normalizedKeys['content-encoding']) ) { + $headers['x-encoded-content-encoding'] + = $headers[$normalizedKeys['content-encoding']]; unset($headers[$normalizedKeys['content-encoding']]); if (isset($normalizedKeys['content-length'])) { + $headers['x-encoded-content-length'] + = $headers[$normalizedKeys['content-length']]; + $bodyLength = (int) $this->sink->getSize(); if ($bodyLength) { $headers[$normalizedKeys['content-length']] = $bodyLength; diff --git a/server/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php b/server/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php index cd7898f..0658769 100644 --- a/server/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php +++ b/server/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php @@ -74,7 +74,7 @@ class MockHandler implements \Countable $response = array_shift($this->queue); if (is_callable($response)) { - $response = $response($request, $options); + $response = call_user_func($response, $request, $options); } $response = $response instanceof \Exception diff --git a/server/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php b/server/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php index c835dc7..9f9c05f 100644 --- a/server/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php +++ b/server/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php @@ -138,7 +138,7 @@ class StreamHandler : fopen('php://temp', 'r+'); return is_string($sink) - ? new Psr7\Stream(Psr7\try_fopen($sink, 'r+')) + ? new Psr7\LazyOpenStream($sink, 'w+') : Psr7\stream_for($sink); } @@ -153,10 +153,15 @@ class StreamHandler $stream = new Psr7\InflateStream( Psr7\stream_for($stream) ); + $headers['x-encoded-content-encoding'] + = $headers[$normalizedKeys['content-encoding']]; // Remove content-encoding header unset($headers[$normalizedKeys['content-encoding']]); // Fix content-length header if (isset($normalizedKeys['content-length'])) { + $headers['x-encoded-content-length'] + = $headers[$normalizedKeys['content-length']]; + $length = (int) $stream->getSize(); if ($length == 0) { unset($headers[$normalizedKeys['content-length']]); diff --git a/server/vendor/guzzlehttp/guzzle/src/Middleware.php b/server/vendor/guzzlehttp/guzzle/src/Middleware.php index 85d3165..449ab4b 100644 --- a/server/vendor/guzzlehttp/guzzle/src/Middleware.php +++ b/server/vendor/guzzlehttp/guzzle/src/Middleware.php @@ -75,9 +75,14 @@ final class Middleware * @param array $container Container to hold the history (by reference). * * @return callable Returns a function that accepts the next handler. + * @throws \InvalidArgumentException if container is not an array or ArrayAccess. */ - public static function history(array &$container) + public static function history(&$container) { + if (!is_array($container) && !$container instanceof \ArrayAccess) { + throw new \InvalidArgumentException('history container must be an array or object implementing ArrayAccess'); + } + return function (callable $handler) use (&$container) { return function ($request, array $options) use ($handler, &$container) { return $handler($request, $options)->then( diff --git a/server/vendor/guzzlehttp/guzzle/src/functions.php b/server/vendor/guzzlehttp/guzzle/src/functions.php index 5e93b22..5ab82af 100644 --- a/server/vendor/guzzlehttp/guzzle/src/functions.php +++ b/server/vendor/guzzlehttp/guzzle/src/functions.php @@ -282,3 +282,49 @@ function is_host_in_noproxy($host, array $noProxyArray) return false; } + +/** + * Wrapper for json_decode that throws when an error occurs. + * + * @param string $json JSON data to parse + * @param bool $assoc When true, returned objects will be converted + * into associative arrays. + * @param int $depth User specified recursion depth. + * @param int $options Bitmask of JSON decode options. + * + * @return mixed + * @throws \InvalidArgumentException if the JSON cannot be decoded. + * @link http://www.php.net/manual/en/function.json-decode.php + */ +function json_decode($json, $assoc = false, $depth = 512, $options = 0) +{ + $data = \json_decode($json, $assoc, $depth, $options); + if (JSON_ERROR_NONE !== json_last_error()) { + throw new \InvalidArgumentException( + 'json_decode error: ' . json_last_error_msg()); + } + + return $data; +} + +/** + * Wrapper for JSON encoding that throws when an error occurs. + * + * @param string $value The value being encoded + * @param int $options JSON encode option bitmask + * @param int $depth Set the maximum depth. Must be greater than zero. + * + * @return string + * @throws \InvalidArgumentException if the JSON cannot be encoded. + * @link http://www.php.net/manual/en/function.json-encode.php + */ +function json_encode($value, $options = 0, $depth = 512) +{ + $json = \json_encode($value, $options, $depth); + if (JSON_ERROR_NONE !== json_last_error()) { + throw new \InvalidArgumentException( + 'json_encode error: ' . json_last_error_msg()); + } + + return $json; +} diff --git a/server/vendor/php-opencloud/common/.travis.yml b/server/vendor/php-opencloud/common/.travis.yml new file mode 100644 index 0000000..f15d253 --- /dev/null +++ b/server/vendor/php-opencloud/common/.travis.yml @@ -0,0 +1,30 @@ +language: php + +sudo: false + +cache: + directories: + - $HOME/.composer/cache + +matrix: + include: + - php: 7.0 + - php: nightly + allow_failures: + - php: nightly + fast_finish: true + +before_install: + - composer self-update + +before_script: + - composer install --prefer-source + - vendor/bin/parallel-lint --exclude vendor . + - vendor/bin/php-cs-fixer fix --dry-run --diff --level psr2 . + +after_script: + - php vendor/bin/coveralls -v + +notifications: + email: + - jamie.hannaford@rackspace.com diff --git a/server/vendor/php-opencloud/common/src/Common/Api/AbstractApi.php b/server/vendor/php-opencloud/common/src/Common/Api/AbstractApi.php index beee5e8..09988fd 100644 --- a/server/vendor/php-opencloud/common/src/Common/Api/AbstractApi.php +++ b/server/vendor/php-opencloud/common/src/Common/Api/AbstractApi.php @@ -1,4 +1,4 @@ - true]); } - protected function notRequired(array $param) + protected function notRequired(array $param): array { return array_merge($param, ['required' => false]); } - protected function query(array $param) + protected function query(array $param): array { return array_merge($param, ['location' => AbstractParams::QUERY]); } - protected function url(array $param) + protected function url(array $param): array { return array_merge($param, ['location' => AbstractParams::URL]); } - public function documented(array $param) + public function documented(array $param): array { return array_merge($param, ['required' => true]); } diff --git a/server/vendor/php-opencloud/common/src/Common/Api/AbstractParams.php b/server/vendor/php-opencloud/common/src/Common/Api/AbstractParams.php index 225e025..b21b3dd 100644 --- a/server/vendor/php-opencloud/common/src/Common/Api/AbstractParams.php +++ b/server/vendor/php-opencloud/common/src/Common/Api/AbstractParams.php @@ -1,4 +1,4 @@ - self::INT_TYPE, @@ -38,7 +38,7 @@ DESC ]; } - public function marker() + public function marker(): array { return [ 'type' => 'string', @@ -51,7 +51,7 @@ DESC ]; } - public function id($type) + public function id(string $type): array { return [ 'description' => sprintf("The unique ID, or identifier, for the %s", $type), @@ -60,7 +60,7 @@ DESC ]; } - public function idPath() + public function idPath(): array { return [ 'type' => self::STRING_TYPE, @@ -69,7 +69,7 @@ DESC ]; } - public function name($resource) + public function name(string $resource): array { return [ 'description' => sprintf("The name of the %s", $resource), @@ -79,7 +79,7 @@ DESC } - public function sortDir() + public function sortDir(): array { return [ 'type' => self::STRING_TYPE, @@ -89,7 +89,7 @@ DESC ]; } - public function sortKey() + public function sortKey(): array { return [ 'type' => self::STRING_TYPE, @@ -97,4 +97,4 @@ DESC 'description' => "Sorts by one or more sets of attribute and sort direction combinations.", ]; } -} +} \ No newline at end of file diff --git a/server/vendor/php-opencloud/common/src/Common/Api/ApiInterface.php b/server/vendor/php-opencloud/common/src/Common/Api/ApiInterface.php index d5d26a0..d4629dc 100644 --- a/server/vendor/php-opencloud/common/src/Common/Api/ApiInterface.php +++ b/server/vendor/php-opencloud/common/src/Common/Api/ApiInterface.php @@ -1,4 +1,4 @@ -path; } @@ -57,7 +55,7 @@ class Operation /** * @return string */ - public function getMethod() + public function getMethod(): string { return $this->method; } @@ -69,7 +67,7 @@ class Operation * * @return bool */ - public function hasParam($key) + public function hasParam(string $key): bool { return isset($this->params[$key]); } @@ -79,7 +77,7 @@ class Operation * * @return Parameter */ - public function getParam($name) + public function getParam(string $name) { return isset($this->params[$name]) ? $this->params[$name] : null; } @@ -87,9 +85,9 @@ class Operation /** * @return string */ - public function getJsonKey() + public function getJsonKey(): string { - return $this->jsonKey; + return $this->jsonKey ?: ''; } /** @@ -100,7 +98,7 @@ class Operation * * @return array */ - public static function toParamArray(array $data) + public static function toParamArray(array $data): array { $params = []; @@ -121,7 +119,7 @@ class Operation * @return bool TRUE if validation passes * @throws \Exception If validate fails */ - public function validate(array $userValues) + public function validate(array $userValues): bool { foreach ($this->params as $paramName => $param) { if (array_key_exists($paramName, $userValues)) { @@ -133,4 +131,4 @@ class Operation return true; } -} +} \ No newline at end of file diff --git a/server/vendor/php-opencloud/common/src/Common/Api/Operator.php b/server/vendor/php-opencloud/common/src/Common/Api/Operator.php index 4325b69..5698779 100644 --- a/server/vendor/php-opencloud/common/src/Common/Api/Operator.php +++ b/server/vendor/php-opencloud/common/src/Common/Api/Operator.php @@ -1,7 +1,9 @@ -validate($userValues); @@ -79,7 +81,7 @@ abstract class Operator implements OperatorInterface /** * {@inheritDoc} */ - public function execute(array $definition, array $userValues = []) + public function execute(array $definition, array $userValues = []): ResponseInterface { return $this->sendRequest($this->getOperation($definition), $userValues); } @@ -87,7 +89,7 @@ abstract class Operator implements OperatorInterface /** * {@inheritDoc} */ - public function executeAsync(array $definition, array $userValues = []) + public function executeAsync(array $definition, array $userValues = []): PromiseInterface { return $this->sendRequest($this->getOperation($definition), $userValues, true); } @@ -95,7 +97,7 @@ abstract class Operator implements OperatorInterface /** * {@inheritDoc} */ - public function model($class, $data = null) + public function model(string $class, $data = null): ResourceInterface { $model = new $class($this->client, $this->api); @@ -121,13 +123,13 @@ abstract class Operator implements OperatorInterface * * @return static */ - public function newInstance() + public function newInstance(): self { return new static($this->client, $this->api); } /** - * @return \GuzzleHttp\Psr7\Uri + * @return \GuzzleHttp\Psr7\Uri:null */ protected function getHttpBaseUrl() { diff --git a/server/vendor/php-opencloud/common/src/Common/Api/OperatorInterface.php b/server/vendor/php-opencloud/common/src/Common/Api/OperatorInterface.php index 43c6ce2..168518b 100644 --- a/server/vendor/php-opencloud/common/src/Common/Api/OperatorInterface.php +++ b/server/vendor/php-opencloud/common/src/Common/Api/OperatorInterface.php @@ -1,8 +1,11 @@ -name, 'metadata') !== false) { + if ($this->name && stripos($this->name, 'metadata') !== false) { $this->properties = new Parameter($data['properties']); } else { foreach ($data['properties'] as $name => $property) { @@ -166,7 +166,7 @@ class Parameter * * @return string */ - public function getName() + public function getName(): string { return $this->sentAs ?: $this->name; } @@ -176,7 +176,7 @@ class Parameter * * @return bool */ - public function isRequired() + public function isRequired(): bool { return $this->required === true; } @@ -189,7 +189,7 @@ class Parameter * @return bool TRUE if the validation passes * @throws \Exception If validation fails */ - public function validate($userValues) + public function validate($userValues): bool { $this->validateEnums($userValues); $this->validateType($userValues); @@ -245,9 +245,9 @@ class Parameter * @returns Parameter * @throws \Exception */ - private function getNestedProperty($key) + private function getNestedProperty($key): Parameter { - if (stripos($this->name, 'metadata') !== false && $this->properties instanceof Parameter) { + if ($this->name && stripos($this->name, 'metadata') !== false && $this->properties instanceof Parameter) { return $this->properties; } elseif (isset($this->properties[$key])) { return $this->properties[$key]; @@ -264,7 +264,7 @@ class Parameter * * @return bool */ - private function hasCorrectType($userValue) + private function hasCorrectType($userValue): bool { // Helper fn to see whether an array is associative (i.e. a JSON object) $isAssociative = function ($value) { @@ -293,7 +293,7 @@ class Parameter * * @return bool */ - public function isArray() + public function isArray(): bool { return $this->type == 'array' && $this->itemSchema instanceof Parameter; } @@ -303,12 +303,12 @@ class Parameter * * @return bool */ - public function isObject() + public function isObject(): bool { return $this->type == 'object' && !empty($this->properties); } - public function getLocation() + public function getLocation(): string { return $this->location; } @@ -320,7 +320,7 @@ class Parameter * * @return bool */ - public function hasLocation($value) + public function hasLocation($value): bool { return $this->location == $value; } @@ -330,7 +330,7 @@ class Parameter * * @return string|null */ - public function getPath() + public function getPath(): string { return $this->path; } @@ -338,7 +338,7 @@ class Parameter /** * Retrieves the common schema that an array parameter applies to all its child elements. * - * @return Parameter + * @return Parameter|null */ public function getItemSchema() { @@ -350,7 +350,7 @@ class Parameter * * @param string $name */ - public function setName($name) + public function setName(string $name) { $this->name = $name; } @@ -362,7 +362,7 @@ class Parameter * * @return null|Parameter */ - public function getProperty($name) + public function getProperty(string $name) { if ($this->properties instanceof Parameter) { $this->properties->setName($name); @@ -377,12 +377,12 @@ class Parameter * * @return string|null */ - public function getPrefix() + public function getPrefix(): string { return $this->prefix; } - public function getPrefixedName() + public function getPrefixedName(): string { return $this->prefix . $this->getName(); } diff --git a/server/vendor/php-opencloud/common/src/Common/ArrayAccessTrait.php b/server/vendor/php-opencloud/common/src/Common/ArrayAccessTrait.php index 72bcfce..a9e3aba 100644 --- a/server/vendor/php-opencloud/common/src/Common/ArrayAccessTrait.php +++ b/server/vendor/php-opencloud/common/src/Common/ArrayAccessTrait.php @@ -1,4 +1,4 @@ -internalState[$offset]); } @@ -48,7 +48,7 @@ trait ArrayAccessTrait * * @param string $offset */ - public function offsetUnset($offset) + public function offsetUnset(string $offset) { unset($this->internalState[$offset]); } @@ -60,7 +60,7 @@ trait ArrayAccessTrait * * @return mixed|null */ - public function offsetGet($offset) + public function offsetGet(string $offset) { return $this->offsetExists($offset) ? $this->internalState[$offset] : null; } diff --git a/server/vendor/php-opencloud/common/src/Common/Auth/AuthHandler.php b/server/vendor/php-opencloud/common/src/Common/Auth/AuthHandler.php index 1a36cc0..61a07c9 100644 --- a/server/vendor/php-opencloud/common/src/Common/Auth/AuthHandler.php +++ b/server/vendor/php-opencloud/common/src/Common/Auth/AuthHandler.php @@ -1,4 +1,4 @@ -getUri(), 'tokens') !== false && $request->getMethod() == 'POST'; } diff --git a/server/vendor/php-opencloud/common/src/Common/Auth/Catalog.php b/server/vendor/php-opencloud/common/src/Common/Auth/Catalog.php index b4ab381..22ebc09 100644 --- a/server/vendor/php-opencloud/common/src/Common/Auth/Catalog.php +++ b/server/vendor/php-opencloud/common/src/Common/Auth/Catalog.php @@ -1,4 +1,4 @@ -response = $response; } - public function getRequest() + public function getRequest(): RequestInterface { return $this->request; } - public function getResponse() + public function getResponse(): ResponseInterface { return $this->response; } diff --git a/server/vendor/php-opencloud/common/src/Common/Error/BaseError.php b/server/vendor/php-opencloud/common/src/Common/Error/BaseError.php index a7cb26e..1776890 100644 --- a/server/vendor/php-opencloud/common/src/Common/Error/BaseError.php +++ b/server/vendor/php-opencloud/common/src/Common/Error/BaseError.php @@ -1,4 +1,4 @@ -docDomain . $link; @@ -78,7 +78,7 @@ class Builder * @codeCoverageIgnore * @return string */ - public function str(MessageInterface $message) + public function str(MessageInterface $message): string { if ($message instanceof RequestInterface) { $msg = trim($message->getMethod() . ' ' @@ -112,7 +112,7 @@ class Builder * * @return BadResponseError */ - public function httpError(RequestInterface $request, ResponseInterface $response) + public function httpError(RequestInterface $request, ResponseInterface $response): BadResponseError { $message = $this->header('HTTP Error'); @@ -138,7 +138,7 @@ class Builder return $e; } - private function getStatusCodeMessage($statusCode) + private function getStatusCodeMessage(int $statusCode): string { $errors = [ 400 => 'Please ensure that your input values are valid and well-formed. ', @@ -159,7 +159,7 @@ class Builder * * @return UserInputError */ - public function userInputError($expectedType, $userValue, $furtherLink = null) + public function userInputError(string $expectedType, $userValue, string $furtherLink = null): UserInputError { $message = $this->header('User Input Error'); diff --git a/server/vendor/php-opencloud/common/src/Common/Error/NotImplementedError.php b/server/vendor/php-opencloud/common/src/Common/Error/NotImplementedError.php index 3e01d74..db18f62 100644 --- a/server/vendor/php-opencloud/common/src/Common/Error/NotImplementedError.php +++ b/server/vendor/php-opencloud/common/src/Common/Error/NotImplementedError.php @@ -1,4 +1,4 @@ -jsonStructure = $this->setPath($path, $value, $this->jsonStructure); } @@ -53,9 +53,10 @@ class JsonPath * @param $path * @param $value * @param $json + * * @return mixed */ - private function setPath($path, $value, $json) + private function setPath(string $path, $value, array $json): array { $nodes = explode('.', $path); $point = array_shift($nodes); @@ -87,9 +88,10 @@ class JsonPath * Get a path's value. If no path can be matched, NULL is returned. * * @param $path + * * @return mixed|null */ - public function get($path) + public function get(string $path) { return $this->getPath($path, $this->jsonStructure); } @@ -99,9 +101,10 @@ class JsonPath * * @param $path * @param $json + * * @return null */ - private function getPath($path, $json) + private function getPath(string $path, $json) { $nodes = explode('.', $path); $point = array_shift($nodes); diff --git a/server/vendor/php-opencloud/common/src/Common/JsonSchema/JsonPatch.php b/server/vendor/php-opencloud/common/src/Common/JsonSchema/JsonPatch.php index 2c12ec0..74d2a78 100644 --- a/server/vendor/php-opencloud/common/src/Common/JsonSchema/JsonPatch.php +++ b/server/vendor/php-opencloud/common/src/Common/JsonSchema/JsonPatch.php @@ -1,4 +1,4 @@ -makeDiff($src, $dest); } - public function makeDiff($srcStruct, $desStruct, $path = '') + public function makeDiff($srcStruct, $desStruct, string $path = ''): array { $changes = []; @@ -28,7 +28,7 @@ class JsonPatch return $changes; } - protected function handleArray($srcStruct, $desStruct, $path) + protected function handleArray(array $srcStruct, array $desStruct, string $path): array { $changes = []; @@ -53,7 +53,7 @@ class JsonPatch return $changes; } - protected function handleObject($srcStruct, $desStruct, $path) + protected function handleObject(\stdClass $srcStruct, \stdClass $desStruct, string $path): array { $changes = []; @@ -76,12 +76,12 @@ class JsonPatch return $changes; } - protected function shouldPartiallyReplace($o1, $o2) + protected function shouldPartiallyReplace(\stdClass $o1, \stdClass $o2): bool { return count(array_diff_key((array) $o1, (array) $o2)) < count($o1); } - protected function arrayDiff(array $a1, array $a2) + protected function arrayDiff(array $a1, array $a2): array { $result = []; @@ -94,8 +94,10 @@ class JsonPatch return $result; } - protected function path($root, $path) + protected function path(string $root, $path): string { + $path = (string) $path; + if ($path === '_empty_') { $path = ''; } @@ -103,7 +105,7 @@ class JsonPatch return rtrim($root, '/') . '/' . ltrim($path, '/'); } - protected function makePatch($op, $path, $val = null) + protected function makePatch(string $op, string $path, $val = null): array { switch ($op) { default: diff --git a/server/vendor/php-opencloud/common/src/Common/JsonSchema/Schema.php b/server/vendor/php-opencloud/common/src/Common/JsonSchema/Schema.php index a1cd380..e1e3f65 100644 --- a/server/vendor/php-opencloud/common/src/Common/JsonSchema/Schema.php +++ b/server/vendor/php-opencloud/common/src/Common/JsonSchema/Schema.php @@ -1,4 +1,4 @@ -validator = $validator ?: new Validator(); } - public function getPropertyPaths() + public function getPropertyPaths(): array { $paths = []; @@ -26,7 +29,7 @@ class Schema return $paths; } - public function normalizeObject($subject, array $aliases) + public function normalizeObject($subject, array $aliases): \stdClass { $out = new \stdClass; @@ -49,17 +52,17 @@ class Schema $this->validator->check($data, $this->body); } - public function isValid() + public function isValid(): bool { return $this->validator->isValid(); } - public function getErrors() + public function getErrors(): array { return $this->validator->getErrors(); } - public function getErrorString() + public function getErrorString(): string { $msg = "Provided values do not validate. Errors:\n"; diff --git a/server/vendor/php-opencloud/common/src/Common/Resource/AbstractResource.php b/server/vendor/php-opencloud/common/src/Common/Resource/AbstractResource.php index 9f79b07..989fde7 100644 --- a/server/vendor/php-opencloud/common/src/Common/Resource/AbstractResource.php +++ b/server/vendor/php-opencloud/common/src/Common/Resource/AbstractResource.php @@ -1,4 +1,4 @@ -getHeaderLine('Content-Type'), 'application/json') === 0) { $json = Utils::jsonDecode($response); @@ -79,12 +79,12 @@ abstract class AbstractResource extends Operator implements ResourceInterface * * @return mixed|void */ - public function populateFromArray(array $array) + public function populateFromArray(array $array): self { $reflClass = new \ReflectionClass($this); foreach ($array as $key => $val) { - $propertyName = isset($this->aliases[$key]) ? $this->aliases[$key] : $key; + $propertyName = (string) (isset($this->aliases[$key]) ? $this->aliases[$key] : $key); if (property_exists($this, $propertyName)) { if ($type = $this->extractTypeFromDocBlock($reflClass, $propertyName)) { @@ -94,9 +94,11 @@ abstract class AbstractResource extends Operator implements ResourceInterface $this->$propertyName = $val; } } + + return $this; } - private function parseDocBlockValue($type, $val) + private function parseDocBlockValue(string $type, $val) { if (strpos($type, '[]') === 0 && is_array($val)) { $array = []; @@ -113,7 +115,7 @@ abstract class AbstractResource extends Operator implements ResourceInterface return $val; } - private function isNotNativeType($type) + private function isNotNativeType(string $type): bool { return !in_array($type, [ 'string', 'bool', 'boolean', 'double', 'null', 'array', 'object', 'int', 'integer', 'float', 'numeric', @@ -121,7 +123,7 @@ abstract class AbstractResource extends Operator implements ResourceInterface ]); } - private function normalizeModelClass($class) + private function normalizeModelClass(string $class): string { if (strpos($class, '\\') === false) { $currentNamespace = (new \ReflectionClass($this))->getNamespaceName(); @@ -131,7 +133,7 @@ abstract class AbstractResource extends Operator implements ResourceInterface return $class; } - private function extractTypeFromDocBlock(\ReflectionClass $reflClass, $propertyName) + private function extractTypeFromDocBlock(\ReflectionClass $reflClass, string $propertyName) { $docComment = $reflClass->getProperty($propertyName)->getDocComment(); @@ -174,7 +176,7 @@ abstract class AbstractResource extends Operator implements ResourceInterface return $this->execute($definition, $this->getAttrs(array_keys($definition['params']))); } - private function getResourcesKey() + private function getResourcesKey(): string { $resourcesKey = $this->resourcesKey; @@ -189,7 +191,7 @@ abstract class AbstractResource extends Operator implements ResourceInterface /** * {@inheritDoc} */ - public function enumerate(array $def, array $userVals = [], callable $mapFn = null) + public function enumerate(array $def, array $userVals = [], callable $mapFn = null): \Generator { $operation = $this->getOperation($def); @@ -217,7 +219,7 @@ abstract class AbstractResource extends Operator implements ResourceInterface return $iterator(); } - public function extractMultipleInstances(ResponseInterface $response, $key = null) + public function extractMultipleInstances(ResponseInterface $response, string $key = null): array { $key = $key ?: $this->getResourcesKey(); $resourcesData = Utils::jsonDecode($response)[$key]; diff --git a/server/vendor/php-opencloud/common/src/Common/Resource/Creatable.php b/server/vendor/php-opencloud/common/src/Common/Resource/Creatable.php index 19579c1..5f16bfa 100644 --- a/server/vendor/php-opencloud/common/src/Common/Resource/Creatable.php +++ b/server/vendor/php-opencloud/common/src/Common/Resource/Creatable.php @@ -1,4 +1,4 @@ -waitUntil('ACTIVE', $timeout); } - public function waitUntilDeleted($timeout = 60, $sleepPeriod = 1) + public function waitUntilDeleted($timeout = 60, int $sleepPeriod = 1) { $startTime = time(); diff --git a/server/vendor/php-opencloud/common/src/Common/Resource/Iterator.php b/server/vendor/php-opencloud/common/src/Common/Resource/Iterator.php index 63d4455..05507f0 100644 --- a/server/vendor/php-opencloud/common/src/Common/Resource/Iterator.php +++ b/server/vendor/php-opencloud/common/src/Common/Resource/Iterator.php @@ -1,4 +1,4 @@ -rootNamespace, $serviceName, $serviceVersion); @@ -70,19 +70,18 @@ class Builder * directly - this setup includes the configuration of the HTTP client's base URL, and the * attachment of an authentication handler. * - * @param $serviceName The name of the service as it appears in the OpenCloud\* namespace - * @param $serviceVersion The major version of the service - * @param array $serviceOptions The service-specific options to use + * @param string $serviceName The name of the service as it appears in the OpenCloud\* namespace + * @param int $serviceVersion The major version of the service + * @param array $serviceOptions The service-specific options to use * * @return \OpenCloud\Common\Service\ServiceInterface * * @throws \Exception */ - public function createService($serviceName, $serviceVersion, array $serviceOptions = []) + public function createService(string $serviceName, int $serviceVersion, array $serviceOptions = []): ServiceInterface { $options = $this->mergeOptions($serviceOptions); - $this->stockIdentityService($options); $this->stockAuthHandler($options); $this->stockHttpClient($options, $serviceName); @@ -91,7 +90,7 @@ class Builder return new $serviceClass($options['httpClient'], new $apiClass()); } - private function stockHttpClient(array &$options, $serviceName) + private function stockHttpClient(array &$options, string $serviceName) { if (!isset($options['httpClient']) || !($options['httpClient'] instanceof ClientInterface)) { if (strcasecmp($serviceName, 'identity') === 0) { @@ -121,16 +120,9 @@ class Builder } } - private function stockIdentityService(array &$options) - { - if (!isset($options['identityService'])) { - $httpClient = $this->httpClient($options['authUrl'], HandlerStack::create()); - $options['identityService'] = Service::factory($httpClient); - } - } - /** * @param array $options + * * @codeCoverageIgnore */ private function stockAuthHandler(array &$options) @@ -142,14 +134,14 @@ class Builder } } - private function getStack(callable $authHandler, Token $token = null) + private function getStack(callable $authHandler, Token $token = null): HandlerStack { $stack = HandlerStack::create(); $stack->push(Middleware::authHandler($authHandler, $token)); return $stack; } - private function httpClient($baseUrl, HandlerStack $stack) + private function httpClient(string $baseUrl, HandlerStack $stack): ClientInterface { return new Client([ 'base_uri' => Utils::normalizeUrl($baseUrl), @@ -157,7 +149,7 @@ class Builder ]); } - private function mergeOptions(array $serviceOptions) + private function mergeOptions(array $serviceOptions): array { $options = array_merge($this->defaults, $this->globalOptions, $serviceOptions); @@ -165,6 +157,12 @@ class Builder throw new \InvalidArgumentException('"authUrl" is a required option'); } + if (!isset($options['identityService']) || !($options['identityService'] instanceof IdentityService)) { + throw new \InvalidArgumentException(sprintf( + '"identityService" must be specified and implement %s', IdentityService::class + )); + } + return $options; } -} +} \ No newline at end of file diff --git a/server/vendor/php-opencloud/common/src/Common/Service/ServiceInterface.php b/server/vendor/php-opencloud/common/src/Common/Service/ServiceInterface.php index 6ad3089..0f2f23c 100644 --- a/server/vendor/php-opencloud/common/src/Common/Service/ServiceInterface.php +++ b/server/vendor/php-opencloud/common/src/Common/Service/ServiceInterface.php @@ -1,4 +1,4 @@ -getName(); if ($path = $param->getPath()) { @@ -46,7 +46,7 @@ class JsonSerializer * * @return array|mixed */ - private function stockArrayJson(Parameter $param, $userValue) + private function stockArrayJson(Parameter $param, array $userValue): array { $elems = []; foreach ($userValue as $item) { @@ -63,7 +63,7 @@ class JsonSerializer * * @return array */ - private function stockObjectJson(Parameter $param, $userValue) + private function stockObjectJson(Parameter $param, \stdClass $userValue): array { $object = []; foreach ($userValue as $key => $val) { @@ -82,12 +82,12 @@ class JsonSerializer * * @return array */ - public function stockJson(Parameter $param, $userValue, $json) + public function stockJson(Parameter $param, $userValue, array $json): array { if ($param->isArray()) { $userValue = $this->stockArrayJson($param, $userValue); } elseif ($param->isObject()) { - $userValue = $this->stockObjectJson($param, $userValue); + $userValue = $this->stockObjectJson($param, (object) $userValue); } // Populate the final value return $this->stockValue($param, $userValue, $json); diff --git a/server/vendor/php-opencloud/common/src/Common/Transport/Middleware.php b/server/vendor/php-opencloud/common/src/Common/Transport/Middleware.php index 916ff22..2b407a4 100644 --- a/server/vendor/php-opencloud/common/src/Common/Transport/Middleware.php +++ b/server/vendor/php-opencloud/common/src/Common/Transport/Middleware.php @@ -1,4 +1,4 @@ -jsonSerializer = $jsonSerializer ?: new JsonSerializer(); } - public function serializeOptions(Operation $operation, array $userValues = []) + public function serializeOptions(Operation $operation, array $userValues = []): array { $options = ['headers' => []]; diff --git a/server/vendor/php-opencloud/common/src/Common/Transport/Utils.php b/server/vendor/php-opencloud/common/src/Common/Transport/Utils.php index c2a2dc1..ffac9ce 100644 --- a/server/vendor/php-opencloud/common/src/Common/Transport/Utils.php +++ b/server/vendor/php-opencloud/common/src/Common/Transport/Utils.php @@ -1,4 +1,4 @@ - 'JSON_ERROR_DEPTH - Maximum stack depth exceeded', @@ -40,11 +40,11 @@ class Utils * Method for flattening a nested array. * * @param array $data The nested array - * @param null $key The key to extract + * @param string $key The key to extract * * @return array */ - public static function flattenJson($data, $key = null) + public static function flattenJson($data, string $key = null) { return (!empty($data) && $key && isset($data[$key])) ? $data[$key] : $data; } @@ -59,7 +59,7 @@ class Utils * * @return string */ - public static function normalizeUrl($url) + public static function normalizeUrl(string $url): string { if (strpos($url, 'http') === false) { $url = 'http://' . $url; @@ -76,12 +76,12 @@ class Utils * * @return UriInterface */ - public static function addPaths(UriInterface $uri, ...$paths) + public static function addPaths(UriInterface $uri, ...$paths): UriInterface { return uri_for(rtrim((string) $uri, '/') . '/' . implode('/', $paths)); } - public static function appendPath(UriInterface $uri, $path) + public static function appendPath(UriInterface $uri, $path): UriInterface { return uri_for(rtrim((string) $uri, '/') . '/' . $path); } diff --git a/server/vendor/php-opencloud/common/tests/integration/DefaultLogger.php b/server/vendor/php-opencloud/common/tests/integration/DefaultLogger.php index a546c70..d367600 100644 --- a/server/vendor/php-opencloud/common/tests/integration/DefaultLogger.php +++ b/server/vendor/php-opencloud/common/tests/integration/DefaultLogger.php @@ -1,6 +1,6 @@ basePath = $basePath; + $this->namespace = $testNamespace; + $this->logger = new DefaultLogger(); $this->assembleServicesFromSamples(); } @@ -73,15 +76,14 @@ class Runner */ private function getTest($serviceName, $version, $verbosity) { - $namespace = (new \ReflectionClass($this))->getNamespaceName(); - $className = sprintf("%s\\%s\\%sTest", $namespace, Utils::toCamelCase($serviceName), ucfirst($version)); + $className = sprintf("%s\\%s\\%sTest", $this->namespace, Utils::toCamelCase($serviceName), ucfirst($version)); if (!class_exists($className)) { throw new \RuntimeException(sprintf("%s does not exist", $className)); } $basePath = $this->basePath . DIRECTORY_SEPARATOR . $serviceName . DIRECTORY_SEPARATOR . $version; - $smClass = sprintf("%s\\SampleManager", $namespace); + $smClass = sprintf("%s\\SampleManager", $this->namespace); $class = new $className($this->logger, new $smClass($basePath, $verbosity)); if (!($class instanceof TestInterface)) { diff --git a/server/vendor/php-opencloud/common/tests/integration/SampleManagerInterface.php b/server/vendor/php-opencloud/common/tests/integration/SampleManagerInterface.php index f0fe848..c4293ba 100644 --- a/server/vendor/php-opencloud/common/tests/integration/SampleManagerInterface.php +++ b/server/vendor/php-opencloud/common/tests/integration/SampleManagerInterface.php @@ -1,6 +1,6 @@ getenv('OS_AUTH_URL'), - 'region' => getenv('OS_REGION_NAME'), - 'user' => [ - 'id' => getenv('OS_USER_ID'), - 'password' => getenv('OS_PASSWORD'), - ], - 'scope' => [ - 'project' => [ - 'id' => getenv('OS_PROJECT_ID'), - ] - ] - ]; - } - - public static function getAuthOptsV2() - { - $httpClient = new Client([ - 'base_uri' => CommonUtils::normalizeUrl(getenv('OS_AUTH_URL')), - 'handler' => HandlerStack::create(), - ]); - return [ - 'authUrl' => getenv('OS_AUTH_URL'), - 'region' => getenv('OS_REGION_NAME'), - 'username' => getenv('OS_USERNAME'), - 'password' => getenv('OS_PASSWORD'), - 'tenantName' => getenv('OS_TENANT_NAME'), - 'identityService' => new Service($httpClient, new Api), - ]; - } - - public static function getAuthOpts(array $options = []) - { - $authOptions = getenv('OS_IDENTITY_API_VERSION') == '2.0' - ? self::getAuthOptsV2() - : self::getAuthOptsV3(); - - return array_merge($authOptions, $options); - } - public static function toCamelCase($word, $separator = '_') { return str_replace($separator, '', ucwords($word, $separator)); diff --git a/server/vendor/php-opencloud/common/tests/integration/run.php b/server/vendor/php-opencloud/common/tests/integration/run.php deleted file mode 100644 index 5bc5548..0000000 --- a/server/vendor/php-opencloud/common/tests/integration/run.php +++ /dev/null @@ -1,10 +0,0 @@ -runServices(); diff --git a/server/vendor/php-opencloud/common/tests/unit/Common/Api/OperatorTest.php b/server/vendor/php-opencloud/common/tests/unit/Common/Api/OperatorTest.php index 43c5804..e22c25e 100644 --- a/server/vendor/php-opencloud/common/tests/unit/Common/Api/OperatorTest.php +++ b/server/vendor/php-opencloud/common/tests/unit/Common/Api/OperatorTest.php @@ -10,7 +10,6 @@ use GuzzleHttp\Psr7\Uri; use OpenCloud\Common\Api\Operator; use OpenCloud\Common\Resource\AbstractResource; use OpenCloud\Common\Resource\ResourceInterface; -use OpenCloud\Compute\v2\Models\Server; use OpenCloud\Test\Fixtures\ComputeV2Api; use OpenCloud\Test\TestCase; use Prophecy\Argument; @@ -45,7 +44,7 @@ class OperatorTest extends TestCase public function test_it_sends_a_request_when_operations_are_executed() { - $this->client->request('GET', 'test', ['headers' => []])->willReturn(new Request('GET', 'test')); + $this->client->request('GET', 'test', ['headers' => []])->willReturn(new Response()); $this->operator->execute($this->def, []); } diff --git a/server/vendor/php-opencloud/common/tests/unit/Common/Auth/AuthHandlerTest.php b/server/vendor/php-opencloud/common/tests/unit/Common/Auth/AuthHandlerTest.php index 3c77dde..d0d63cf 100644 --- a/server/vendor/php-opencloud/common/tests/unit/Common/Auth/AuthHandlerTest.php +++ b/server/vendor/php-opencloud/common/tests/unit/Common/Auth/AuthHandlerTest.php @@ -53,7 +53,11 @@ class AuthHandlerTest extends TestCase } } -class FakeToken implements Token { - public function getId() {} - public function hasExpired() {} +class FakeToken implements Token +{ + public function getId(): string + {} + + public function hasExpired(): bool + {} } \ No newline at end of file diff --git a/server/vendor/php-opencloud/common/tests/unit/Common/JsonSchema/SchemaTest.php b/server/vendor/php-opencloud/common/tests/unit/Common/JsonSchema/SchemaTest.php index 22663ef..4aae8e5 100644 --- a/server/vendor/php-opencloud/common/tests/unit/Common/JsonSchema/SchemaTest.php +++ b/server/vendor/php-opencloud/common/tests/unit/Common/JsonSchema/SchemaTest.php @@ -95,8 +95,8 @@ class SchemaTest extends TestCase public function test_it_checks_validity() { - $this->validator->isValid()->shouldBeCalled(); + $this->validator->isValid()->shouldBeCalled()->willReturn(true); $this->schema->isValid(); } -} +} \ No newline at end of file diff --git a/server/vendor/php-opencloud/common/tests/unit/Common/Transport/JsonSerializerTest.php b/server/vendor/php-opencloud/common/tests/unit/Common/Transport/JsonSerializerTest.php index 9075594..5e21833 100644 --- a/server/vendor/php-opencloud/common/tests/unit/Common/Transport/JsonSerializerTest.php +++ b/server/vendor/php-opencloud/common/tests/unit/Common/Transport/JsonSerializerTest.php @@ -47,8 +47,8 @@ class JsonSerializerTest extends \PHPUnit_Framework_TestCase $itemSchema = $this->prophesize(Parameter::class); $itemSchema->isArray()->shouldBeCalled()->willReturn(false); $itemSchema->isObject()->shouldBeCalled()->willReturn(false); - $itemSchema->getName()->shouldBeCalled()->willReturn(null); - $itemSchema->getPath()->shouldBeCalled()->willReturn(null); + $itemSchema->getName()->shouldBeCalled()->willReturn(''); + $itemSchema->getPath()->shouldBeCalled()->willReturn(''); $param->getItemSchema()->shouldBeCalled()->willReturn($itemSchema); @@ -67,7 +67,7 @@ class JsonSerializerTest extends \PHPUnit_Framework_TestCase $prop->isArray()->shouldBeCalled()->willReturn(false); $prop->isObject()->shouldBeCalled()->willReturn(false); $prop->getName()->shouldBeCalled()->willReturn('foo'); - $prop->getPath()->shouldBeCalled()->willReturn(null); + $prop->getPath()->shouldBeCalled()->willReturn(''); $param = $this->prophesize(Parameter::class); $param->isArray()->shouldBeCalled()->willReturn(false); @@ -78,7 +78,7 @@ class JsonSerializerTest extends \PHPUnit_Framework_TestCase $expected = ['topLevel' => ['foo' => true]]; - $json = $this->serializer->stockJson($param->reveal(), ['foo' => true], []); + $json = $this->serializer->stockJson($param->reveal(), (object) ['foo' => true], []); $this->assertEquals($expected, $json); } diff --git a/server/vendor/php-opencloud/common/tests/unit/Fixtures/ComputeV2Api.php b/server/vendor/php-opencloud/common/tests/unit/Fixtures/ComputeV2Api.php index d395d10..8c6858d 100644 --- a/server/vendor/php-opencloud/common/tests/unit/Fixtures/ComputeV2Api.php +++ b/server/vendor/php-opencloud/common/tests/unit/Fixtures/ComputeV2Api.php @@ -53,7 +53,17 @@ class ComputeV2Api implements ApiInterface ] ], 'name' => ['type' => 'string', 'required' => true], - 'metadata' => ['type' => 'object', 'location' => 'json'], + 'metadata' => [ + 'type' => 'object', + 'location' => 'json', + 'description' => 'An arbitrary key/value pairing that will be used for metadata.', + 'properties' => [ + 'type' => 'string', + 'description' => << ['type' => 'string'], 'blockDeviceMapping' => [ 'type' => 'array', diff --git a/server/vendor/php-opencloud/openstack b/server/vendor/php-opencloud/openstack index 4ba218f..6162642 160000 --- a/server/vendor/php-opencloud/openstack +++ b/server/vendor/php-opencloud/openstack @@ -1 +1 @@ -Subproject commit 4ba218fc7ed0e618fd83eaf690b2e4e3bf22cde5 +Subproject commit 61626420361a1dab3ed6f9455e1057bda18cc335