diff --git a/composer.json b/composer.json index 089599c7..91af7c63 100644 --- a/composer.json +++ b/composer.json @@ -31,8 +31,11 @@ "ext-mbstring": "*", "lib-openssl": "*", "fgrosse/phpasn1": "^2.0", + "http-interop/http-factory": "^0.3.0", "paragonie/sodium_compat": "^1.1", + "php-http/guzzle6-adapter": "^1.1.1", "php-http/httplug": "^1.1", + "php-http/httplug-bundle": "^1.7", "php-http/message-factory": "^1.0", "spomky-labs/aes-key-wrap": "^4.0", "spomky-labs/base64url": "^1.0", @@ -51,7 +54,6 @@ "behat/symfony2-extension": "^2.1", "bjeavons/zxcvbn-php": "^0.3.0", "padraic/phar-updater": "^1.0", - "php-http/guzzle6-adapter": "^1.1.1", "phpbench/phpbench": "^0.13.0", "phpunit/phpunit": "^6.0", "satooshi/php-coveralls": "^1.0", diff --git a/composer.lock b/composer.lock index a5f90b0d..ac3ab6f2 100644 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,60 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "c15105544057d837bcd0f31d4b849984", + "content-hash": "1e550be675881fba79f5c9a6866c2af5", "packages": [ + { + "name": "clue/stream-filter", + "version": "v1.4.0", + "source": { + "type": "git", + "url": "https://github.com/clue/php-stream-filter.git", + "reference": "d80fdee9b3a7e0d16fc330a22f41f3ad0eeb09d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/clue/php-stream-filter/zipball/d80fdee9b3a7e0d16fc330a22f41f3ad0eeb09d0", + "reference": "d80fdee9b3a7e0d16fc330a22f41f3ad0eeb09d0", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "require-dev": { + "phpunit/phpunit": "^5.0 || ^4.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "Clue\\StreamFilter\\": "src/" + }, + "files": [ + "src/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@lueck.tv" + } + ], + "description": "A simple and modern approach to stream filtering in PHP", + "homepage": "https://github.com/clue/php-stream-filter", + "keywords": [ + "bucket brigade", + "callback", + "filter", + "php_user_filter", + "stream", + "stream_filter_append", + "stream_filter_register" + ], + "time": "2017-08-18T09:54:01+00:00" + }, { "name": "doctrine/cache", "version": "v1.7.1", @@ -149,6 +201,239 @@ ], "time": "2017-09-17T14:43:07+00:00" }, + { + "name": "guzzlehttp/guzzle", + "version": "6.3.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/f4db5a78a5ea468d4831de7f0bf9d9415e348699", + "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699", + "shasum": "" + }, + "require": { + "guzzlehttp/promises": "^1.0", + "guzzlehttp/psr7": "^1.4", + "php": ">=5.5" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "^4.0 || ^5.0", + "psr/log": "^1.0" + }, + "suggest": { + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.2-dev" + } + }, + "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" + ], + "time": "2017-06-22T18:50:49+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "shasum": "" + }, + "require": { + "php": ">=5.5.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "time": "2016-12-20T10:07:11+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "1.4.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "request", + "response", + "stream", + "uri", + "url" + ], + "time": "2017-03-20T17:10:46+00:00" + }, + { + "name": "http-interop/http-factory", + "version": "0.3.0", + "source": { + "type": "git", + "url": "https://github.com/http-interop/http-factory.git", + "reference": "c2587cc0a6f74987fefb5b8074acfd32c69a4b0f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/http-interop/http-factory/zipball/c2587cc0a6f74987fefb5b8074acfd32c69a4b0f", + "reference": "c2587cc0a6f74987fefb5b8074acfd32c69a4b0f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Interop\\Http\\Factory\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "time": "2017-03-24T14:48:51+00:00" + }, { "name": "paragonie/random_compat", "version": "v2.0.11", @@ -199,16 +484,16 @@ }, { "name": "paragonie/sodium_compat", - "version": "v1.3.0", + "version": "v1.3.1", "source": { "type": "git", "url": "https://github.com/paragonie/sodium_compat.git", - "reference": "c2f615edf47ee819039b0d88d77c51e7283c3e47" + "reference": "6b3a59ef127445564a00e261eb1e960b6292f494" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/c2f615edf47ee819039b0d88d77c51e7283c3e47", - "reference": "c2f615edf47ee819039b0d88d77c51e7283c3e47", + "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/6b3a59ef127445564a00e261eb1e960b6292f494", + "reference": "6b3a59ef127445564a00e261eb1e960b6292f494", "shasum": "" }, "require": { @@ -241,98 +526,557 @@ "email": "jedisct1@pureftpd.org" } ], - "description": "Pure PHP implementation of libsodium; uses the PHP extension if it exists", + "description": "Pure PHP implementation of libsodium; uses the PHP extension if it exists", + "keywords": [ + "Authentication", + "BLAKE2b", + "ChaCha20", + "ChaCha20-Poly1305", + "Chapoly", + "Curve25519", + "Ed25519", + "EdDSA", + "Edwards-curve Digital Signature Algorithm", + "Elliptic Curve Diffie-Hellman", + "Poly1305", + "Pure-PHP cryptography", + "RFC 7748", + "RFC 8032", + "Salpoly", + "Salsa20", + "X25519", + "XChaCha20-Poly1305", + "XSalsa20-Poly1305", + "Xchacha20", + "Xsalsa20", + "aead", + "cryptography", + "ecdh", + "elliptic curve", + "elliptic curve cryptography", + "encryption", + "libsodium", + "php", + "public-key cryptography", + "secret-key cryptography", + "side-channel resistant" + ], + "time": "2017-09-29T21:27:52+00:00" + }, + { + "name": "php-http/cache-plugin", + "version": "v1.4.0", + "source": { + "type": "git", + "url": "https://github.com/php-http/cache-plugin.git", + "reference": "fe2730638f254934529006eb38aad8b5d427f475" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/cache-plugin/zipball/fe2730638f254934529006eb38aad8b5d427f475", + "reference": "fe2730638f254934529006eb38aad8b5d427f475", + "shasum": "" + }, + "require": { + "php": "^5.4 || ^7.0", + "php-http/client-common": "^1.1", + "php-http/message-factory": "^1.0", + "psr/cache": "^1.0", + "symfony/options-resolver": "^2.6 || ^3.0" + }, + "require-dev": { + "henrikbjorn/phpspec-code-coverage": "^1.0", + "phpspec/phpspec": "^2.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\Client\\Common\\Plugin\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "PSR-6 Cache plugin for HTTPlug", + "homepage": "http://httplug.io", + "keywords": [ + "cache", + "http", + "httplug", + "plugin" + ], + "time": "2017-04-05T20:09:01+00:00" + }, + { + "name": "php-http/client-common", + "version": "1.5.0", + "source": { + "type": "git", + "url": "https://github.com/php-http/client-common.git", + "reference": "154d36542eb96ee95daa504591eab78af2484baa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/client-common/zipball/154d36542eb96ee95daa504591eab78af2484baa", + "reference": "154d36542eb96ee95daa504591eab78af2484baa", + "shasum": "" + }, + "require": { + "php": ">=5.4", + "php-http/httplug": "^1.1", + "php-http/message": "^1.2", + "php-http/message-factory": "^1.0", + "symfony/options-resolver": "^2.6 || ^3.0" + }, + "require-dev": { + "henrikbjorn/phpspec-code-coverage": "^1.0", + "phpspec/phpspec": "^2.4" + }, + "suggest": { + "php-http/cache-plugin": "PSR-6 Cache plugin", + "php-http/logger-plugin": "PSR-3 Logger plugin", + "php-http/stopwatch-plugin": "Symfony Stopwatch plugin" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.5-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\Client\\Common\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "Common HTTP Client implementations and tools for HTTPlug", + "homepage": "http://httplug.io", + "keywords": [ + "client", + "common", + "http", + "httplug" + ], + "time": "2017-03-30T12:50:04+00:00" + }, + { + "name": "php-http/discovery", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/php-http/discovery.git", + "reference": "7b50ab4d6c9fdaa1ed53ae310c955900af6e3372" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/discovery/zipball/7b50ab4d6c9fdaa1ed53ae310c955900af6e3372", + "reference": "7b50ab4d6c9fdaa1ed53ae310c955900af6e3372", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0" + }, + "require-dev": { + "henrikbjorn/phpspec-code-coverage": "^2.0.2", + "php-http/httplug": "^1.0", + "php-http/message-factory": "^1.0", + "phpspec/phpspec": "^2.4", + "puli/composer-plugin": "1.0.0-beta10" + }, + "suggest": { + "php-http/message": "Allow to use Guzzle, Diactoros or Slim Framework factories", + "puli/composer-plugin": "Sets up Puli which is recommended for Discovery to work. Check http://docs.php-http.org/en/latest/discovery.html for more details." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\Discovery\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "Finds installed HTTPlug implementations and PSR-7 message factories", + "homepage": "http://php-http.org", + "keywords": [ + "adapter", + "client", + "discovery", + "factory", + "http", + "message", + "psr7" + ], + "time": "2017-08-03T10:12:53+00:00" + }, + { + "name": "php-http/guzzle6-adapter", + "version": "v1.1.1", + "source": { + "type": "git", + "url": "https://github.com/php-http/guzzle6-adapter.git", + "reference": "a56941f9dc6110409cfcddc91546ee97039277ab" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/guzzle6-adapter/zipball/a56941f9dc6110409cfcddc91546ee97039277ab", + "reference": "a56941f9dc6110409cfcddc91546ee97039277ab", + "shasum": "" + }, + "require": { + "guzzlehttp/guzzle": "^6.0", + "php": ">=5.5.0", + "php-http/httplug": "^1.0" + }, + "provide": { + "php-http/async-client-implementation": "1.0", + "php-http/client-implementation": "1.0" + }, + "require-dev": { + "ext-curl": "*", + "php-http/adapter-integration-tests": "^0.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\Adapter\\Guzzle6\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + }, + { + "name": "David de Boer", + "email": "david@ddeboer.nl" + } + ], + "description": "Guzzle 6 HTTP Adapter", + "homepage": "http://httplug.io", + "keywords": [ + "Guzzle", + "http" + ], + "time": "2016-05-10T06:13:32+00:00" + }, + { + "name": "php-http/httplug", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-http/httplug.git", + "reference": "1c6381726c18579c4ca2ef1ec1498fdae8bdf018" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/httplug/zipball/1c6381726c18579c4ca2ef1ec1498fdae8bdf018", + "reference": "1c6381726c18579c4ca2ef1ec1498fdae8bdf018", + "shasum": "" + }, + "require": { + "php": ">=5.4", + "php-http/promise": "^1.0", + "psr/http-message": "^1.0" + }, + "require-dev": { + "henrikbjorn/phpspec-code-coverage": "^1.0", + "phpspec/phpspec": "^2.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eric GELOEN", + "email": "geloen.eric@gmail.com" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "HTTPlug, the HTTP client abstraction for PHP", + "homepage": "http://httplug.io", + "keywords": [ + "client", + "http" + ], + "time": "2016-08-31T08:30:17+00:00" + }, + { + "name": "php-http/httplug-bundle", + "version": "v1.7.1", + "source": { + "type": "git", + "url": "https://github.com/php-http/HttplugBundle.git", + "reference": "d1fda4a95973d642d055e0f4b33f3a5b570b1220" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/HttplugBundle/zipball/d1fda4a95973d642d055e0f4b33f3a5b570b1220", + "reference": "d1fda4a95973d642d055e0f4b33f3a5b570b1220", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "php-http/cache-plugin": "^1.4", + "php-http/client-common": "^1.2", + "php-http/client-implementation": "^1.0", + "php-http/discovery": "^1.0", + "php-http/logger-plugin": "^1.0", + "php-http/message": "^1.4", + "php-http/message-factory": "^1.0.2", + "php-http/stopwatch-plugin": "^1.0", + "symfony/asset": "^2.8 || ^3.0", + "symfony/event-dispatcher": "^2.8 || ^3.0", + "symfony/framework-bundle": "^2.8 || ^3.0", + "symfony/options-resolver": "^2.8 || ^3.0", + "twig/twig": "^1.18 || ^2.0" + }, + "conflict": { + "php-http/guzzle6-adapter": "<1.1" + }, + "require-dev": { + "matthiasnoback/symfony-dependency-injection-test": "^1.0", + "nyholm/nsa": "^1.1", + "php-http/buzz-adapter": "^0.3", + "php-http/curl-client": "^1.0", + "php-http/guzzle6-adapter": "^1.1.1", + "php-http/mock-client": "^1.0", + "php-http/react-adapter": "^0.2.1", + "php-http/socket-client": "^1.0", + "phpunit/php-token-stream": "^1.1.8", + "phpunit/phpunit": "^4.5 || ^5.4", + "polishsymfonycommunity/symfony-mocker-container": "^1.0", + "symfony/browser-kit": "^2.8 || ^3.0", + "symfony/cache": "^3.1", + "symfony/dom-crawler": "^2.8 || ^3.0", + "symfony/finder": "^2.7 || ^3.0", + "symfony/phpunit-bridge": "^3.2", + "symfony/twig-bridge": "^2.8 || ^3.0", + "symfony/twig-bundle": "^2.8 || ^3.0", + "symfony/web-profiler-bundle": "^2.8 || ^3.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "1.7-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\HttplugBundle\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "David Buchmann", + "email": "mail@davidbu.ch" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com" + } + ], + "description": "Symfony integration for HTTPlug", + "homepage": "http://httplug.io", + "keywords": [ + "adapter", + "bundle", + "discovery", + "factory", + "http", + "httplug", + "message", + "php-http" + ], + "time": "2017-08-05T08:16:24+00:00" + }, + { + "name": "php-http/logger-plugin", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-http/logger-plugin.git", + "reference": "d6c2ac7d542bf9928a0ac7a8a249d02848b824ec" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/logger-plugin/zipball/d6c2ac7d542bf9928a0ac7a8a249d02848b824ec", + "reference": "d6c2ac7d542bf9928a0ac7a8a249d02848b824ec", + "shasum": "" + }, + "require": { + "php": ">=5.4", + "php-http/client-common": "^1.1", + "php-http/message": "^1.0", + "psr/log": "^1.0" + }, + "require-dev": { + "henrikbjorn/phpspec-code-coverage": "^1.0", + "phpspec/phpspec": "^2.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\Client\\Common\\Plugin\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "PSR-3 Logger plugin for HTTPlug", + "homepage": "http://httplug.io", "keywords": [ - "Authentication", - "BLAKE2b", - "ChaCha20", - "ChaCha20-Poly1305", - "Chapoly", - "Curve25519", - "Ed25519", - "EdDSA", - "Edwards-curve Digital Signature Algorithm", - "Elliptic Curve Diffie-Hellman", - "Poly1305", - "Pure-PHP cryptography", - "RFC 7748", - "RFC 8032", - "Salpoly", - "Salsa20", - "X25519", - "XChaCha20-Poly1305", - "XSalsa20-Poly1305", - "Xchacha20", - "Xsalsa20", - "aead", - "cryptography", - "ecdh", - "elliptic curve", - "elliptic curve cryptography", - "encryption", - "libsodium", - "php", - "public-key cryptography", - "secret-key cryptography", - "side-channel resistant" + "http", + "httplug", + "logger", + "plugin" ], - "time": "2017-09-28T20:46:00+00:00" + "time": "2016-05-04T22:43:46+00:00" }, { - "name": "php-http/httplug", - "version": "v1.1.0", + "name": "php-http/message", + "version": "1.6.0", "source": { "type": "git", - "url": "https://github.com/php-http/httplug.git", - "reference": "1c6381726c18579c4ca2ef1ec1498fdae8bdf018" + "url": "https://github.com/php-http/message.git", + "reference": "2edd63bae5f52f79363c5f18904b05ce3a4b7253" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/httplug/zipball/1c6381726c18579c4ca2ef1ec1498fdae8bdf018", - "reference": "1c6381726c18579c4ca2ef1ec1498fdae8bdf018", + "url": "https://api.github.com/repos/php-http/message/zipball/2edd63bae5f52f79363c5f18904b05ce3a4b7253", + "reference": "2edd63bae5f52f79363c5f18904b05ce3a4b7253", "shasum": "" }, "require": { + "clue/stream-filter": "^1.3", "php": ">=5.4", - "php-http/promise": "^1.0", + "php-http/message-factory": "^1.0.2", "psr/http-message": "^1.0" }, + "provide": { + "php-http/message-factory-implementation": "1.0" + }, "require-dev": { + "akeneo/phpspec-skip-example-extension": "^1.0", + "coduo/phpspec-data-provider-extension": "^1.0", + "ext-zlib": "*", + "guzzlehttp/psr7": "^1.0", "henrikbjorn/phpspec-code-coverage": "^1.0", - "phpspec/phpspec": "^2.4" + "phpspec/phpspec": "^2.4", + "slim/slim": "^3.0", + "zendframework/zend-diactoros": "^1.0" + }, + "suggest": { + "ext-zlib": "Used with compressor/decompressor streams", + "guzzlehttp/psr7": "Used with Guzzle PSR-7 Factories", + "slim/slim": "Used with Slim Framework PSR-7 implementation", + "zendframework/zend-diactoros": "Used with Diactoros Factories" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "1.6-dev" } }, "autoload": { "psr-4": { - "Http\\Client\\": "src/" - } + "Http\\Message\\": "src/" + }, + "files": [ + "src/filters.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ - { - "name": "Eric GELOEN", - "email": "geloen.eric@gmail.com" - }, { "name": "Márk Sági-Kazár", "email": "mark.sagikazar@gmail.com" } ], - "description": "HTTPlug, the HTTP client abstraction for PHP", - "homepage": "http://httplug.io", + "description": "HTTP Message related tools", + "homepage": "http://php-http.org", "keywords": [ - "client", - "http" + "http", + "message", + "psr-7" ], - "time": "2016-08-31T08:30:17+00:00" + "time": "2017-07-05T06:40:53+00:00" }, { "name": "php-http/message-factory", @@ -434,6 +1178,60 @@ ], "time": "2016-01-26T13:27:02+00:00" }, + { + "name": "php-http/stopwatch-plugin", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-http/stopwatch-plugin.git", + "reference": "9a097099904a1d218ffcfe32be8344eb03da41d8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/stopwatch-plugin/zipball/9a097099904a1d218ffcfe32be8344eb03da41d8", + "reference": "9a097099904a1d218ffcfe32be8344eb03da41d8", + "shasum": "" + }, + "require": { + "php": ">=5.4", + "php-http/client-common": "^1.1", + "symfony/stopwatch": "^2.7|^3.0" + }, + "require-dev": { + "henrikbjorn/phpspec-code-coverage": "^1.0", + "phpspec/phpspec": "^2.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\Client\\Common\\Plugin\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "Symfony Stopwatch plugin for HTTPlug", + "homepage": "http://httplug.io", + "keywords": [ + "http", + "httplug", + "plugin", + "stopwatch" + ], + "time": "2016-05-19T06:10:14+00:00" + }, { "name": "psr/cache", "version": "1.0.1", @@ -785,6 +1583,62 @@ ], "time": "2016-01-21T19:50:30+00:00" }, + { + "name": "symfony/asset", + "version": "v3.3.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/asset.git", + "reference": "4edb1a43bb961ea5f05f440eba8db82b1d58ea5b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/asset/zipball/4edb1a43bb961ea5f05f440eba8db82b1d58ea5b", + "reference": "4edb1a43bb961ea5f05f440eba8db82b1d58ea5b", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "require-dev": { + "symfony/http-foundation": "~2.8|~3.0", + "symfony/http-kernel": "~2.8|~3.0" + }, + "suggest": { + "symfony/http-foundation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Asset\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Asset Component", + "homepage": "https://symfony.com", + "time": "2017-07-29T21:54:42+00:00" + }, { "name": "symfony/cache", "version": "v3.3.9", @@ -1580,6 +2434,60 @@ "homepage": "https://symfony.com", "time": "2017-09-11T16:13:23+00:00" }, + { + "name": "symfony/options-resolver", + "version": "v3.3.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/options-resolver.git", + "reference": "ee4e22978fe885b54ee5da8c7964f0a5301abfb6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/ee4e22978fe885b54ee5da8c7964f0a5301abfb6", + "reference": "ee4e22978fe885b54ee5da8c7964f0a5301abfb6", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\OptionsResolver\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony OptionsResolver Component", + "homepage": "https://symfony.com", + "keywords": [ + "config", + "configuration", + "options" + ], + "time": "2017-07-29T21:54:42+00:00" + }, { "name": "symfony/polyfill-apcu", "version": "v1.5.0", @@ -1771,53 +2679,119 @@ "time": "2017-07-29T21:54:42+00:00" }, { - "name": "symfony/stopwatch", - "version": "v3.3.9", + "name": "symfony/stopwatch", + "version": "v3.3.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/stopwatch.git", + "reference": "9a5610a8d6a50985a7be485c0ba745c22607beeb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/9a5610a8d6a50985a7be485c0ba745c22607beeb", + "reference": "9a5610a8d6a50985a7be485c0ba745c22607beeb", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Stopwatch\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Stopwatch Component", + "homepage": "https://symfony.com", + "time": "2017-07-29T21:54:42+00:00" + }, + { + "name": "twig/twig", + "version": "v2.4.4", "source": { "type": "git", - "url": "https://github.com/symfony/stopwatch.git", - "reference": "9a5610a8d6a50985a7be485c0ba745c22607beeb" + "url": "https://github.com/twigphp/Twig.git", + "reference": "eddb97148ad779f27e670e1e3f19fb323aedafeb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/9a5610a8d6a50985a7be485c0ba745c22607beeb", - "reference": "9a5610a8d6a50985a7be485c0ba745c22607beeb", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/eddb97148ad779f27e670e1e3f19fb323aedafeb", + "reference": "eddb97148ad779f27e670e1e3f19fb323aedafeb", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" + "php": "^7.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "psr/container": "^1.0", + "symfony/debug": "~2.7", + "symfony/phpunit-bridge": "~3.3@dev" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.3-dev" + "dev-master": "2.4-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Component\\Stopwatch\\": "" + "psr-0": { + "Twig_": "lib/" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "psr-4": { + "Twig\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + }, + { + "name": "Twig Team", + "homepage": "http://twig.sensiolabs.org/contributors", + "role": "Contributors" } ], - "description": "Symfony Stopwatch Component", - "homepage": "https://symfony.com", - "time": "2017-07-29T21:54:42+00:00" + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "http://twig.sensiolabs.org", + "keywords": [ + "templating" + ], + "time": "2017-09-27T18:10:31+00:00" } ], "packages-dev": [ @@ -2483,261 +3457,43 @@ "name": "Marco Pivetta", "email": "ocramius@gmail.com", "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2017-07-22T11:58:36+00:00" - }, - { - "name": "doctrine/lexer", - "version": "v1.0.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", - "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "Doctrine\\Common\\Lexer\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "lexer", - "parser" - ], - "time": "2014-09-09T13:34:57+00:00" - }, - { - "name": "guzzle/guzzle", - "version": "v3.8.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "4de0618a01b34aa1c8c33a3f13f396dcd3882eba" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/4de0618a01b34aa1c8c33a3f13f396dcd3882eba", - "reference": "4de0618a01b34aa1c8c33a3f13f396dcd3882eba", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "php": ">=5.3.3", - "symfony/event-dispatcher": ">=2.1" - }, - "replace": { - "guzzle/batch": "self.version", - "guzzle/cache": "self.version", - "guzzle/common": "self.version", - "guzzle/http": "self.version", - "guzzle/inflection": "self.version", - "guzzle/iterator": "self.version", - "guzzle/log": "self.version", - "guzzle/parser": "self.version", - "guzzle/plugin": "self.version", - "guzzle/plugin-async": "self.version", - "guzzle/plugin-backoff": "self.version", - "guzzle/plugin-cache": "self.version", - "guzzle/plugin-cookie": "self.version", - "guzzle/plugin-curlauth": "self.version", - "guzzle/plugin-error-response": "self.version", - "guzzle/plugin-history": "self.version", - "guzzle/plugin-log": "self.version", - "guzzle/plugin-md5": "self.version", - "guzzle/plugin-mock": "self.version", - "guzzle/plugin-oauth": "self.version", - "guzzle/service": "self.version", - "guzzle/stream": "self.version" - }, - "require-dev": { - "doctrine/cache": "*", - "monolog/monolog": "1.*", - "phpunit/phpunit": "3.7.*", - "psr/log": "1.0.*", - "symfony/class-loader": "*", - "zendframework/zend-cache": "<2.3", - "zendframework/zend-log": "<2.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.8-dev" - } - }, - "autoload": { - "psr-0": { - "Guzzle": "src/", - "Guzzle\\Tests": "tests/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Guzzle Community", - "homepage": "https://github.com/guzzle/guzzle/contributors" - } - ], - "description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "abandoned": "guzzlehttp/guzzle", - "time": "2014-01-28T22:29:15+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.3.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/f4db5a78a5ea468d4831de7f0bf9d9415e348699", - "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0 || ^5.0", - "psr/log": "^1.0" - }, - "suggest": { - "psr/log": "Required for using the Log middleware" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "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" + } ], - "time": "2017-06-22T18:50:49+00:00" + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://github.com/doctrine/instantiator", + "keywords": [ + "constructor", + "instantiate" + ], + "time": "2017-07-22T11:58:36+00:00" }, { - "name": "guzzlehttp/promises", - "version": "v1.3.1", + "name": "doctrine/lexer", + "version": "v1.0.1", "source": { "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" + "url": "https://github.com/doctrine/lexer.git", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", "shasum": "" }, "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" + "php": ">=5.3.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] + "psr-0": { + "Doctrine\\Common\\Lexer\\": "lib/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2745,54 +3501,89 @@ ], "authors": [ { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" } ], - "description": "Guzzle promises library", + "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "http://www.doctrine-project.org", "keywords": [ - "promise" + "lexer", + "parser" ], - "time": "2016-12-20T10:07:11+00:00" + "time": "2014-09-09T13:34:57+00:00" }, { - "name": "guzzlehttp/psr7", - "version": "1.4.2", + "name": "guzzle/guzzle", + "version": "v3.8.1", "source": { "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" + "url": "https://github.com/guzzle/guzzle.git", + "reference": "4de0618a01b34aa1c8c33a3f13f396dcd3882eba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/4de0618a01b34aa1c8c33a3f13f396dcd3882eba", + "reference": "4de0618a01b34aa1c8c33a3f13f396dcd3882eba", "shasum": "" }, "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" + "ext-curl": "*", + "php": ">=5.3.3", + "symfony/event-dispatcher": ">=2.1" }, - "provide": { - "psr/http-message-implementation": "1.0" + "replace": { + "guzzle/batch": "self.version", + "guzzle/cache": "self.version", + "guzzle/common": "self.version", + "guzzle/http": "self.version", + "guzzle/inflection": "self.version", + "guzzle/iterator": "self.version", + "guzzle/log": "self.version", + "guzzle/parser": "self.version", + "guzzle/plugin": "self.version", + "guzzle/plugin-async": "self.version", + "guzzle/plugin-backoff": "self.version", + "guzzle/plugin-cache": "self.version", + "guzzle/plugin-cookie": "self.version", + "guzzle/plugin-curlauth": "self.version", + "guzzle/plugin-error-response": "self.version", + "guzzle/plugin-history": "self.version", + "guzzle/plugin-log": "self.version", + "guzzle/plugin-md5": "self.version", + "guzzle/plugin-mock": "self.version", + "guzzle/plugin-oauth": "self.version", + "guzzle/service": "self.version", + "guzzle/stream": "self.version" }, "require-dev": { - "phpunit/phpunit": "~4.0" + "doctrine/cache": "*", + "monolog/monolog": "1.*", + "phpunit/phpunit": "3.7.*", + "psr/log": "1.0.*", + "symfony/class-loader": "*", + "zendframework/zend-cache": "<2.3", + "zendframework/zend-log": "<2.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "3.8-dev" } }, "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] + "psr-0": { + "Guzzle": "src/", + "Guzzle\\Tests": "tests/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2805,21 +3596,23 @@ "homepage": "https://github.com/mtdowling" }, { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" + "name": "Guzzle Community", + "homepage": "https://github.com/guzzle/guzzle/contributors" } ], - "description": "PSR-7 message implementation that also provides common utility methods", + "description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients", + "homepage": "http://guzzlephp.org/", "keywords": [ + "client", + "curl", + "framework", "http", - "message", - "request", - "response", - "stream", - "uri", - "url" + "http client", + "rest", + "web service" ], - "time": "2017-03-20T17:10:46+00:00" + "abandoned": "guzzlehttp/guzzle", + "time": "2014-01-28T22:29:15+00:00" }, { "name": "lstrojny/functional-php", @@ -3210,66 +4003,6 @@ "description": "Library for handling version information and constraints", "time": "2017-03-05T17:38:23+00:00" }, - { - "name": "php-http/guzzle6-adapter", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/php-http/guzzle6-adapter.git", - "reference": "a56941f9dc6110409cfcddc91546ee97039277ab" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/guzzle6-adapter/zipball/a56941f9dc6110409cfcddc91546ee97039277ab", - "reference": "a56941f9dc6110409cfcddc91546ee97039277ab", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "^6.0", - "php": ">=5.5.0", - "php-http/httplug": "^1.0" - }, - "provide": { - "php-http/async-client-implementation": "1.0", - "php-http/client-implementation": "1.0" - }, - "require-dev": { - "ext-curl": "*", - "php-http/adapter-integration-tests": "^0.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2-dev" - } - }, - "autoload": { - "psr-4": { - "Http\\Adapter\\Guzzle6\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - }, - { - "name": "David de Boer", - "email": "david@ddeboer.nl" - } - ], - "description": "Guzzle 6 HTTP Adapter", - "homepage": "http://httplug.io", - "keywords": [ - "Guzzle", - "http" - ], - "time": "2016-05-10T06:13:32+00:00" - }, { "name": "phpbench/container", "version": "1.1", @@ -4859,60 +5592,6 @@ "homepage": "https://symfony.com", "time": "2017-09-11T15:55:22+00:00" }, - { - "name": "symfony/options-resolver", - "version": "v3.3.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/options-resolver.git", - "reference": "ee4e22978fe885b54ee5da8c7964f0a5301abfb6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/ee4e22978fe885b54ee5da8c7964f0a5301abfb6", - "reference": "ee4e22978fe885b54ee5da8c7964f0a5301abfb6", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\OptionsResolver\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony OptionsResolver Component", - "homepage": "https://symfony.com", - "keywords": [ - "config", - "configuration", - "options" - ], - "time": "2017-07-29T21:54:42+00:00" - }, { "name": "symfony/process", "version": "v3.3.9", diff --git a/src/Bundle/Console/DependencyInjection/ConsoleExtension.php b/src/Bundle/Console/DependencyInjection/ConsoleExtension.php index 4c4c5732..f46ccea0 100644 --- a/src/Bundle/Console/DependencyInjection/ConsoleExtension.php +++ b/src/Bundle/Console/DependencyInjection/ConsoleExtension.php @@ -29,7 +29,6 @@ final class ConsoleExtension extends Extension public function load(array $configs, ContainerBuilder $container) { $loader = new YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); - $loader->load('services.yml'); $loader->load('analyzers.yml'); $loader->load('commands.yml'); } diff --git a/src/Bundle/Console/Resources/config/services.yml b/src/Bundle/Console/Resources/config/services.yml deleted file mode 100644 index 9e6b43cb..00000000 --- a/src/Bundle/Console/Resources/config/services.yml +++ /dev/null @@ -1,8 +0,0 @@ -services: - _defaults: - autowire: true - autoconfigure: true - public: true - - Jose\Component\KeyManagement\JKUFactory: ~ - Jose\Component\KeyManagement\X5UFactory: ~ diff --git a/src/Bundle/JoseFramework/DependencyInjection/Configuration.php b/src/Bundle/JoseFramework/DependencyInjection/Configuration.php index 0845c48c..f577d0ce 100644 --- a/src/Bundle/JoseFramework/DependencyInjection/Configuration.php +++ b/src/Bundle/JoseFramework/DependencyInjection/Configuration.php @@ -14,6 +14,7 @@ namespace Jose\Bundle\JoseFramework\DependencyInjection; use Jose\Bundle\JoseFramework\DependencyInjection\Source\SourceInterface; +use Jose\Component\Core\Converter\StandardJsonConverter; use Symfony\Component\Config\Definition\Builder\TreeBuilder; use Symfony\Component\Config\Definition\ConfigurationInterface; @@ -58,9 +59,22 @@ public function getConfigTreeBuilder() $rootNode ->children() - ->booleanNode('use_default_json_converter') - ->defaultTrue() - ->info('Convert used to encode and decode JSON objects (JWT payloads, keys, key sets...). If set to false, a service that implements JsonConverterInterface must be set.') + ->scalarNode('json_converter') + ->defaultValue(StandardJsonConverter::class) + ->info('Converter used to encode and decode JSON objects (JWT payloads, keys, key sets...). If set to false, a service that implements JsonConverterInterface must be set.') + ->end() + ->arrayNode('jku_factory') + ->canBeEnabled() + ->children() + ->scalarNode('client') + ->info('HTTP Client used to retrieve key sets.') + ->isRequired() + ->defaultNull() + ->end() + ->scalarNode('request_factory') + ->defaultValue('Http\Message\MessageFactory\GuzzleMessageFactory') + ->end() + ->end() ->end() ->end(); diff --git a/src/Bundle/JoseFramework/DependencyInjection/JoseFrameworkExtension.php b/src/Bundle/JoseFramework/DependencyInjection/JoseFrameworkExtension.php index 44162e81..c8f9176f 100644 --- a/src/Bundle/JoseFramework/DependencyInjection/JoseFrameworkExtension.php +++ b/src/Bundle/JoseFramework/DependencyInjection/JoseFrameworkExtension.php @@ -21,6 +21,8 @@ use Jose\Bundle\JoseFramework\DependencyInjection\Source\SourceInterface; use Jose\Bundle\Signature\DependencyInjection\Source\JWSBuilder; use Jose\Bundle\Signature\DependencyInjection\Source\JWSLoader; +use Jose\Component\Core\Converter\JsonConverterInterface; +use Jose\Component\Core\Converter\StandardJsonConverter; use Jose\Component\KeyManagement\JWKFactory; use Symfony\Component\Config\Definition\Processor; use Symfony\Component\Config\FileLocator; @@ -80,11 +82,15 @@ public function load(array $configs, ContainerBuilder $container) $loader = new YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); $loader->load('services.yml'); + $loader->load('jku_source.yml'); + $container->setAlias('jose.http_client', $config['jku_factory']['client']); + $container->setAlias('jose.request_factory', $config['jku_factory']['request_factory']); + $container->setAlias(JsonConverterInterface::class, $config['json_converter']); if (class_exists(JWKFactory::class)) { $loader->load('jwk_factory.yml'); } - if (true === $config['use_default_json_converter']) { + if (StandardJsonConverter::class === $config['json_converter']) { $loader->load('json_converter.yml'); } diff --git a/src/Bundle/JoseFramework/Resources/config/jku_source.yml b/src/Bundle/JoseFramework/Resources/config/jku_source.yml new file mode 100644 index 00000000..4a5a64c1 --- /dev/null +++ b/src/Bundle/JoseFramework/Resources/config/jku_source.yml @@ -0,0 +1,20 @@ +services: + _defaults: + autowire: true + autoconfigure: true + public: true + + Jose\Component\KeyManagement\JKUFactory: + arguments: + - '@Jose\Component\Core\Converter\JsonConverterInterface' + - '@jose.http_client' + - '@jose.request_factory' + + Jose\Component\KeyManagement\X5UFactory: + - '@Jose\Component\Core\Converter\JsonConverterInterface' + - '@jose.http_client' + - '@jose.request_factory' + + Http\Message\MessageFactory\GuzzleMessageFactory: ~ + Http\Message\MessageFactory\DiactorosMessageFactory: ~ + Http\Message\MessageFactory\SlimMessageFactory: ~ diff --git a/src/Component/Encryption/Compression/CompressionMethodManager.php b/src/Component/Encryption/Compression/CompressionMethodManager.php index 4166784e..053b11fb 100644 --- a/src/Component/Encryption/Compression/CompressionMethodManager.php +++ b/src/Component/Encryption/Compression/CompressionMethodManager.php @@ -41,7 +41,7 @@ public static function create(array $methods): CompressionMethodManager /** * @param CompressionMethodInterface $compressionMethod */ - private function add(CompressionMethodInterface $compressionMethod) + protected function add(CompressionMethodInterface $compressionMethod) { $name = $compressionMethod->name(); if ($this->has($name)) { diff --git a/src/Component/Encryption/JWEBuilder.php b/src/Component/Encryption/JWEBuilder.php index fc5c7347..6afd5eea 100644 --- a/src/Component/Encryption/JWEBuilder.php +++ b/src/Component/Encryption/JWEBuilder.php @@ -292,7 +292,7 @@ public function build(): JWE /** * @param array $completeHeaders */ - private function checkAndSetContentEncryptionAlgorithm(array $completeHeaders): void + protected function checkAndSetContentEncryptionAlgorithm(array $completeHeaders): void { $contentEncryptionAlgorithm = $this->getContentEncryptionAlgorithm($completeHeaders); if (null === $this->contentEncryptionAlgorithm) { @@ -432,7 +432,7 @@ private function getEncryptedKeyFromKeyWrappingAlgorithm(array $completeHeaders, * @param KeyEncryptionAlgorithmInterface $keyEncryptionAlgorithm * @param JWK $recipientKey */ - private function checkKey(KeyEncryptionAlgorithmInterface $keyEncryptionAlgorithm, JWK $recipientKey) + protected function checkKey(KeyEncryptionAlgorithmInterface $keyEncryptionAlgorithm, JWK $recipientKey) { KeyChecker::checkKeyUsage($recipientKey, 'encryption'); if ('dir' !== $keyEncryptionAlgorithm->name()) { @@ -485,7 +485,7 @@ private function determineCEK(array &$additionalHeaders): string * * @return CompressionMethodInterface|null */ - private function getCompressionMethod(array $completeHeaders): ?CompressionMethodInterface + protected function getCompressionMethod(array $completeHeaders): ?CompressionMethodInterface { if (!array_key_exists('zip', $completeHeaders)) { return null; @@ -500,7 +500,7 @@ private function getCompressionMethod(array $completeHeaders): ?CompressionMetho * * @return bool */ - private function areKeyManagementModesCompatible(string $current, string $new): bool + protected function areKeyManagementModesCompatible(string $current, string $new): bool { $agree = KeyEncryptionAlgorithmInterface::MODE_AGREEMENT; $dir = KeyEncryptionAlgorithmInterface::MODE_DIRECT; @@ -540,7 +540,7 @@ private function createIV(int $size): string * * @return KeyEncryptionAlgorithmInterface */ - private function getKeyEncryptionAlgorithm(array $completeHeaders): KeyEncryptionAlgorithmInterface + protected function getKeyEncryptionAlgorithm(array $completeHeaders): KeyEncryptionAlgorithmInterface { if (!array_key_exists('alg', $completeHeaders)) { throw new \InvalidArgumentException('Parameter "alg" is missing.'); diff --git a/src/Component/KeyManagement/JKUFactory.php b/src/Component/KeyManagement/JKUFactory.php index 0f7dde15..c90074b8 100644 --- a/src/Component/KeyManagement/JKUFactory.php +++ b/src/Component/KeyManagement/JKUFactory.php @@ -14,7 +14,7 @@ namespace Jose\Component\KeyManagement; use Http\Client\HttpClient; -use Http\Message\RequestFactory; +use Http\Message\MessageFactory; use Jose\Component\Core\Converter\JsonConverterInterface; use Jose\Component\Core\JWKSet; @@ -30,12 +30,12 @@ final class JKUFactory extends UrlKeySetFactory * * @param JsonConverterInterface $jsonConverter * @param HttpClient $client - * @param RequestFactory $requestFactory + * @param MessageFactory $messageFactory */ - public function __construct(JsonConverterInterface $jsonConverter, HttpClient $client, RequestFactory $requestFactory) + public function __construct(JsonConverterInterface $jsonConverter, HttpClient $client, MessageFactory $messageFactory) { $this->jsonConverter = $jsonConverter; - parent::__construct($client, $requestFactory); + parent::__construct($client, $messageFactory); } /** diff --git a/src/Component/KeyManagement/UrlKeySetFactory.php b/src/Component/KeyManagement/UrlKeySetFactory.php index 807169fd..1491d6d5 100644 --- a/src/Component/KeyManagement/UrlKeySetFactory.php +++ b/src/Component/KeyManagement/UrlKeySetFactory.php @@ -14,7 +14,7 @@ namespace Jose\Component\KeyManagement; use Http\Client\HttpClient; -use Http\Message\RequestFactory; +use Http\Message\MessageFactory; /** * Class UrlKeySetFactory. @@ -27,20 +27,20 @@ abstract class UrlKeySetFactory private $client; /** - * @var RequestFactory + * @var MessageFactory */ - private $requestFactory; + private $messageFactory; /** * UrlKeySetFactory constructor. * * @param HttpClient $client - * @param RequestFactory $requestFactory + * @param MessageFactory $messageFactory */ - public function __construct(HttpClient $client, RequestFactory $requestFactory) + public function __construct(HttpClient $client, MessageFactory $messageFactory) { $this->client = $client; - $this->requestFactory = $requestFactory; + $this->messageFactory = $messageFactory; } /** @@ -53,7 +53,7 @@ public function __construct(HttpClient $client, RequestFactory $requestFactory) */ protected function getContent(string $url, array $headers = []): string { - $request = $this->requestFactory->createRequest('GET', $url, $headers); + $request = $this->messageFactory->createRequest('GET', $url, $headers); $response = $this->client->sendRequest($request); if (200 !== $response->getStatusCode()) { diff --git a/src/Component/KeyManagement/X5UFactory.php b/src/Component/KeyManagement/X5UFactory.php index ae5cf92c..40c59d3b 100644 --- a/src/Component/KeyManagement/X5UFactory.php +++ b/src/Component/KeyManagement/X5UFactory.php @@ -14,7 +14,7 @@ namespace Jose\Component\KeyManagement; use Http\Client\HttpClient; -use Http\Message\RequestFactory; +use Http\Message\MessageFactory; use Jose\Component\Core\Converter\JsonConverterInterface; use Jose\Component\Core\JWK; use Jose\Component\Core\JWKSet; @@ -32,12 +32,12 @@ final class X5UFactory extends UrlKeySetFactory * * @param JsonConverterInterface $jsonConverter * @param HttpClient $client - * @param RequestFactory $requestFactory + * @param MessageFactory $messageFactory */ - public function __construct(JsonConverterInterface $jsonConverter, HttpClient $client, RequestFactory $requestFactory) + public function __construct(JsonConverterInterface $jsonConverter, HttpClient $client, MessageFactory $messageFactory) { $this->jsonConverter = $jsonConverter; - parent::__construct($client, $requestFactory); + parent::__construct($client, $messageFactory); } /** diff --git a/tests/TestBundle/Resources/config/services.yml b/tests/TestBundle/Resources/config/services.yml index 22580ea3..4f2bdecd 100644 --- a/tests/TestBundle/Resources/config/services.yml +++ b/tests/TestBundle/Resources/config/services.yml @@ -5,5 +5,3 @@ services: public: true Jose\Test\TestBundle\Converter\CustomJsonConverter: ~ - Jose\Test\TestBundle\Service\RequestFactory: ~ - Http\Adapter\Guzzle6\Client: ~ diff --git a/tests/app/AppKernel.php b/tests/app/AppKernel.php index 7818c3dc..ef0bc161 100644 --- a/tests/app/AppKernel.php +++ b/tests/app/AppKernel.php @@ -27,6 +27,7 @@ public function registerBundles() $bundles = [ new Symfony\Bundle\FrameworkBundle\FrameworkBundle(), + new Http\HttplugBundle\HttplugBundle(), new Jose\Bundle\JoseFramework\JoseFrameworkBundle(), new Jose\Bundle\Console\ConsoleBundle(), new Jose\Bundle\Checker\CheckerBundle(), diff --git a/tests/app/config/config_test.yml b/tests/app/config/config_test.yml index 6bee4bcd..19643791 100644 --- a/tests/app/config/config_test.yml +++ b/tests/app/config/config_test.yml @@ -12,4 +12,15 @@ framework: http_method_override: true jose: - use_default_json_converter: false + json_converter: Jose\Test\TestBundle\Converter\CustomJsonConverter + jku_factory: + enabled: true + client: 'httplug.client.jose' + +httplug: + clients: + jose: + factory: 'httplug.factory.guzzle6' + config: + verify: false + timeout: 2