From 7ab46be0908d984e43b1f045b7026bb4bb4870ed Mon Sep 17 00:00:00 2001 From: "Barry vd. Heuvel" Date: Tue, 22 Sep 2020 10:46:56 +0200 Subject: [PATCH 1/4] Add Guzzle7 Adapter Client Discovery Related: https://github.com/php-http/guzzle6-adapter/pull/72 --- src/Strategy/CommonClassesStrategy.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Strategy/CommonClassesStrategy.php b/src/Strategy/CommonClassesStrategy.php index 5cf52c7..b983ac3 100644 --- a/src/Strategy/CommonClassesStrategy.php +++ b/src/Strategy/CommonClassesStrategy.php @@ -27,6 +27,7 @@ use Http\Message\UriFactory\SlimUriFactory; use Slim\Http\Request as SlimRequest; use GuzzleHttp\Client as GuzzleHttp; +use Http\Adapter\Guzzle7\Client as Guzzle7; use Http\Adapter\Guzzle6\Client as Guzzle6; use Http\Adapter\Guzzle5\Client as Guzzle5; use Http\Client\Curl\Client as Curl; @@ -71,12 +72,14 @@ final class CommonClassesStrategy implements DiscoveryStrategy ], HttpAsyncClient::class => [ ['class' => SymfonyHttplug::class, 'condition' => [SymfonyHttplug::class, Promise::class, RequestFactory::class, [self::class, 'isPsr17FactoryInstalled']]], + ['class' => Guzzle7::class, 'condition' => Guzzle7::class], ['class' => Guzzle6::class, 'condition' => Guzzle6::class], ['class' => Curl::class, 'condition' => Curl::class], ['class' => React::class, 'condition' => React::class], ], HttpClient::class => [ ['class' => SymfonyHttplug::class, 'condition' => [SymfonyHttplug::class, RequestFactory::class, [self::class, 'isPsr17FactoryInstalled']]], + ['class' => Guzzle7::class, 'condition' => Guzzle7::class], ['class' => Guzzle6::class, 'condition' => Guzzle6::class], ['class' => Guzzle5::class, 'condition' => Guzzle5::class], ['class' => Curl::class, 'condition' => Curl::class], From 4555365c53b120c082f4fb5e691c666d834deff2 Mon Sep 17 00:00:00 2001 From: "Barry vd. Heuvel" Date: Tue, 22 Sep 2020 10:51:45 +0200 Subject: [PATCH 2/4] Update CHANGELOG.md --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b1876a..d5ad7a1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Change Log +## Unreleased + +- Support discovering HttpClient of `php-http/guzzle7-adapter` https://github.com/php-http/discovery/pull/189 + ## 1.11.0 - 2020-09-22 - Use correct method name to find Uri Factory in PSR17 https://github.com/php-http/discovery/pull/181 From c033fb60d1f3125cc66e1fc3f165d916dbdaa731 Mon Sep 17 00:00:00 2001 From: "Barry vd. Heuvel" Date: Tue, 22 Sep 2020 10:52:31 +0200 Subject: [PATCH 3/4] CS fix --- src/Strategy/CommonClassesStrategy.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Strategy/CommonClassesStrategy.php b/src/Strategy/CommonClassesStrategy.php index b983ac3..0137c91 100644 --- a/src/Strategy/CommonClassesStrategy.php +++ b/src/Strategy/CommonClassesStrategy.php @@ -72,7 +72,7 @@ final class CommonClassesStrategy implements DiscoveryStrategy ], HttpAsyncClient::class => [ ['class' => SymfonyHttplug::class, 'condition' => [SymfonyHttplug::class, Promise::class, RequestFactory::class, [self::class, 'isPsr17FactoryInstalled']]], - ['class' => Guzzle7::class, 'condition' => Guzzle7::class], + ['class' => Guzzle7::class, 'condition' => Guzzle7::class], ['class' => Guzzle6::class, 'condition' => Guzzle6::class], ['class' => Curl::class, 'condition' => Curl::class], ['class' => React::class, 'condition' => React::class], From 22ebe6f8848df54d0b9e921f36f9ba1679769ab4 Mon Sep 17 00:00:00 2001 From: "Barry vd. Heuvel" Date: Tue, 22 Sep 2020 11:11:36 +0200 Subject: [PATCH 4/4] Test Guzzle7 adapter --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index edffa08..f3ade36 100644 --- a/.travis.yml +++ b/.travis.yml @@ -65,6 +65,8 @@ matrix: - install_test will-find "Http\Discovery\HttpClientDiscovery::find();" "php-http/guzzle6-adapter:^1.1.1" # Test that we find Guzzle 6 v2 - install_test will-find "Http\Discovery\HttpClientDiscovery::find();" "php-http/guzzle6-adapter:^2.0.1" + # Test that we find Guzzle 7 Adapter + - install_test will-find "Http\Discovery\HttpClientDiscovery::find();" "php-http/guzzle7-adapter:^0.1" # Test that we find a client with Symfony and Guzzle PSR-7 - install_test will-find "Http\Discovery\HttpClientDiscovery::find();" "symfony/http-client:5.* php-http/httplug php-http/message-factory guzzlehttp/psr7:1.* http-interop/http-factory-guzzle" # We should fail if we dont have php-http/message-factory or PSR-17