diff --git a/CHANGELOG.md b/CHANGELOG.md index 50277d6..8c54bf0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Change Log +## 1.7.1 - 2019-12-17 + +### Fixed + +- Better conditions to see if Symfony's HTTP clients are available. + ## 1.7.0 - 2019-06-30 ### Added @@ -23,13 +29,13 @@ ## 1.5.2 - 2018-12-31 Corrected mistakes in 1.5.1. The different between 1.5.2 and 1.5.0 is that -we removed some PHP 7 code. +we removed some PHP 7 code. https://github.com/php-http/discovery/compare/1.5.0...1.5.2 ## 1.5.1 - 2018-12-31 -This version added new features by mistake. These are reverted in 1.5.2. +This version added new features by mistake. These are reverted in 1.5.2. Do not use 1.5.1. @@ -41,15 +47,15 @@ Do not use 1.5.1. ### Added -- Support for `nyholm/psr7` version 1.0. -- `ClassDiscovery::safeClassExists` which will help Magento users. +- Support for `nyholm/psr7` version 1.0. +- `ClassDiscovery::safeClassExists` which will help Magento users. - Support for HTTPlug 2.0 - Support for Buzz 1.0 - Better error message when nothing found by introducing a new exception: `NoCandidateFoundException`. ### Fixed -- Fixed condition evaluation, it should stop after first invalid condition. +- Fixed condition evaluation, it should stop after first invalid condition. ## 1.4.0 - 2018-02-06 @@ -69,7 +75,7 @@ Do not use 1.5.1. ### Fixed -- Fixed minor issue with `MockClientStrategy`, also added more tests. +- Fixed minor issue with `MockClientStrategy`, also added more tests. ## 1.2.0 - 2017-02-12 diff --git a/src/Strategy/CommonClassesStrategy.php b/src/Strategy/CommonClassesStrategy.php index 108b049..55f4829 100644 --- a/src/Strategy/CommonClassesStrategy.php +++ b/src/Strategy/CommonClassesStrategy.php @@ -8,6 +8,7 @@ use Http\Client\HttpClient; use Http\Discovery\MessageFactoryDiscovery; use Http\Discovery\Psr17FactoryDiscovery; +use Http\Message\RequestFactory; use Psr\Http\Message\RequestFactoryInterface as Psr17RequestFactory; use Http\Message\MessageFactory; use Http\Message\MessageFactory\GuzzleMessageFactory; @@ -67,13 +68,13 @@ final class CommonClassesStrategy implements DiscoveryStrategy ['class' => SlimUriFactory::class, 'condition' => [SlimRequest::class, SlimUriFactory::class]], ], HttpAsyncClient::class => [ - ['class' => SymfonyHttplug::class, 'condition' => [SymfonyHttplug::class, Promise::class]], + ['class' => SymfonyHttplug::class, 'condition' => [SymfonyHttplug::class, Promise::class, RequestFactory::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, Psr17RequestFactory::class]], + ['class' => SymfonyHttplug::class, 'condition' => [SymfonyHttplug::class, RequestFactory::class]], ['class' => Guzzle6::class, 'condition' => Guzzle6::class], ['class' => Guzzle5::class, 'condition' => Guzzle5::class], ['class' => Curl::class, 'condition' => Curl::class], @@ -91,7 +92,7 @@ final class CommonClassesStrategy implements DiscoveryStrategy Psr18Client::class => [ [ 'class' => [self::class, 'symfonyPsr18Instantiate'], - 'condition' => SymfonyPsr18::class, + 'condition' => [SymfonyPsr18::class, Psr17RequestFactory::class], ], [ 'class' => [self::class, 'buzzInstantiate'],