summaryrefslogtreecommitdiff
path: root/vendor/php-http/discovery/src/MessageFactoryDiscovery.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/php-http/discovery/src/MessageFactoryDiscovery.php')
-rw-r--r--vendor/php-http/discovery/src/MessageFactoryDiscovery.php34
1 files changed, 34 insertions, 0 deletions
diff --git a/vendor/php-http/discovery/src/MessageFactoryDiscovery.php b/vendor/php-http/discovery/src/MessageFactoryDiscovery.php
new file mode 100644
index 000000000..4ae104aa6
--- /dev/null
+++ b/vendor/php-http/discovery/src/MessageFactoryDiscovery.php
@@ -0,0 +1,34 @@
+<?php
+
+namespace Http\Discovery;
+
+use Http\Discovery\Exception\DiscoveryFailedException;
+use Http\Message\MessageFactory;
+
+/**
+ * Finds a Message Factory.
+ *
+ * @author Márk Sági-Kazár <[email protected]>
+ *
+ * @deprecated This will be removed in 2.0. Consider using Psr17FactoryDiscovery.
+ */
+final class MessageFactoryDiscovery extends ClassDiscovery
+{
+ /**
+ * Finds a Message Factory.
+ *
+ * @return MessageFactory
+ *
+ * @throws Exception\NotFoundException
+ */
+ public static function find()
+ {
+ try {
+ $messageFactory = static::findOneByType(MessageFactory::class);
+ } catch (DiscoveryFailedException $e) {
+ throw new NotFoundException('No php-http message factories found. Note that the php-http message factories are deprecated in favor of the PSR-17 message factories. To use the legacy Guzzle, Diactoros or Slim Framework factories of php-http, install php-http/message and php-http/message-factory and the chosen message implementation.', 0, $e);
+ }
+
+ return static::instantiateClass($messageFactory);
+ }
+}