diff options
Diffstat (limited to 'vendor/php-http/discovery/src/HttpAsyncClientDiscovery.php')
-rw-r--r-- | vendor/php-http/discovery/src/HttpAsyncClientDiscovery.php | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/vendor/php-http/discovery/src/HttpAsyncClientDiscovery.php b/vendor/php-http/discovery/src/HttpAsyncClientDiscovery.php new file mode 100644 index 000000000..a0c4d5b7c --- /dev/null +++ b/vendor/php-http/discovery/src/HttpAsyncClientDiscovery.php @@ -0,0 +1,32 @@ +<?php + +namespace Http\Discovery; + +use Http\Client\HttpAsyncClient; +use Http\Discovery\Exception\DiscoveryFailedException; + +/** + * Finds an HTTP Asynchronous Client. + * + * @author Joel Wurtz <[email protected]> + */ +final class HttpAsyncClientDiscovery extends ClassDiscovery +{ + /** + * Finds an HTTP Async Client. + * + * @return HttpAsyncClient + * + * @throws Exception\NotFoundException + */ + public static function find() + { + try { + $asyncClient = static::findOneByType(HttpAsyncClient::class); + } catch (DiscoveryFailedException $e) { + throw new NotFoundException('No HTTPlug async clients found. Make sure to install a package providing "php-http/async-client-implementation". Example: "php-http/guzzle6-adapter".', 0, $e); + } + + return static::instantiateClass($asyncClient); + } +} |