diff options
Diffstat (limited to 'inc/mailgun/php-http/discovery/src/StreamFactoryDiscovery.php')
| -rw-r--r-- | inc/mailgun/php-http/discovery/src/StreamFactoryDiscovery.php | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/inc/mailgun/php-http/discovery/src/StreamFactoryDiscovery.php b/inc/mailgun/php-http/discovery/src/StreamFactoryDiscovery.php new file mode 100644 index 0000000..7bcc8ce --- /dev/null +++ b/inc/mailgun/php-http/discovery/src/StreamFactoryDiscovery.php @@ -0,0 +1,36 @@ +<?php + +namespace Http\Discovery; + +use Http\Discovery\Exception\DiscoveryFailedException; +use Http\Message\StreamFactory; + +/** + * Finds a Stream Factory. + * + * @author Михаил Красильников <m.krasilnikov@yandex.ru> + */ +final class StreamFactoryDiscovery extends ClassDiscovery +{ + /** + * Finds a Stream Factory. + * + * @return StreamFactory + * + * @throws Exception\NotFoundException + */ + public static function find() + { + try { + $streamFactory = static::findOneByType(StreamFactory::class); + } catch (DiscoveryFailedException $e) { + throw new NotFoundException( + 'No stream factories found. To use Guzzle, Diactoros or Slim Framework factories install php-http/message and the chosen message implementation.', + 0, + $e + ); + } + + return static::instantiateClass($streamFactory); + } +} |
