From 2564b23c32bc3bfd4319efaab51b5f6b54f76f71 Mon Sep 17 00:00:00 2001 From: Mika Tuupola Date: Sat, 15 Oct 2016 23:20:14 +0300 Subject: [PATCH] Discovery support for Slim Framework factories --- CHANGELOG.md | 6 ++++++ src/MessageFactoryDiscovery.php | 2 +- src/Strategy/CommonClassesStrategy.php | 7 +++++++ src/StreamFactoryDiscovery.php | 2 +- src/UriFactoryDiscovery.php | 2 +- 5 files changed, 16 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ce78b55..2183353 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ # Change Log +## Unreleased + +### Added + +- Discovery support for Slim Framework factories + ## 1.0.0 - 2016-07-18 ### Added diff --git a/src/MessageFactoryDiscovery.php b/src/MessageFactoryDiscovery.php index 5e16dfc..c21b9bf 100644 --- a/src/MessageFactoryDiscovery.php +++ b/src/MessageFactoryDiscovery.php @@ -25,7 +25,7 @@ public static function find() $messageFactory = static::findOneByType(MessageFactory::class); } catch (DiscoveryFailedException $e) { throw new NotFoundException( - 'No message factories found. To use Guzzle or Diactoros factories install php-http/message and the chosen message implementation.', + 'No message factories found. To use Guzzle, Diactoros or Slim Framework factories install php-http/message and the chosen message implementation.', 0, $e ); diff --git a/src/Strategy/CommonClassesStrategy.php b/src/Strategy/CommonClassesStrategy.php index 7d89d8a..c550ca7 100644 --- a/src/Strategy/CommonClassesStrategy.php +++ b/src/Strategy/CommonClassesStrategy.php @@ -10,6 +10,10 @@ use Http\Message\StreamFactory\DiactorosStreamFactory; use Http\Message\UriFactory\DiactorosUriFactory; use Zend\Diactoros\Request as DiactorosRequest; +use Http\Message\MessageFactory\SlimMessageFactory; +use Http\Message\StreamFactory\SlimStreamFactory; +use Http\Message\UriFactory\SlimUriFactory; +use Slim\Http\Request as SlimRequest; use Http\Adapter\Guzzle6\Client as Guzzle6; use Http\Adapter\Guzzle5\Client as Guzzle5; use Http\Client\Curl\Client as Curl; @@ -31,14 +35,17 @@ final class CommonClassesStrategy implements DiscoveryStrategy 'Http\Message\MessageFactory' => [ ['class' => GuzzleMessageFactory::class, 'condition' => [GuzzleRequest::class, GuzzleMessageFactory::class]], ['class' => DiactorosMessageFactory::class, 'condition' => [DiactorosRequest::class, DiactorosMessageFactory::class]], + ['class' => SlimMessageFactory::class, 'condition' => [SlimRequest::class, SlimMessageFactory::class]], ], 'Http\Message\StreamFactory' => [ ['class' => GuzzleStreamFactory::class, 'condition' => [GuzzleRequest::class, GuzzleStreamFactory::class]], ['class' => DiactorosStreamFactory::class, 'condition' => [DiactorosRequest::class, DiactorosStreamFactory::class]], + ['class' => SlimStreamFactory::class, 'condition' => [SlimRequest::class, SlimStreamFactory::class]], ], 'Http\Message\UriFactory' => [ ['class' => GuzzleUriFactory::class, 'condition' => [GuzzleRequest::class, GuzzleUriFactory::class]], ['class' => DiactorosUriFactory::class, 'condition' => [DiactorosRequest::class, DiactorosUriFactory::class]], + ['class' => SlimUriFactory::class, 'condition' => [SlimRequest::class, SlimUriFactory::class]], ], 'Http\Client\HttpAsyncClient' => [ ['class' => Guzzle6::class, 'condition' => Guzzle6::class], diff --git a/src/StreamFactoryDiscovery.php b/src/StreamFactoryDiscovery.php index 8e54ee1..7bcc8ce 100644 --- a/src/StreamFactoryDiscovery.php +++ b/src/StreamFactoryDiscovery.php @@ -25,7 +25,7 @@ public static function find() $streamFactory = static::findOneByType(StreamFactory::class); } catch (DiscoveryFailedException $e) { throw new NotFoundException( - 'No stream factories found. To use Guzzle or Diactoros factories install php-http/message and the chosen message implementation.', + 'No stream factories found. To use Guzzle, Diactoros or Slim Framework factories install php-http/message and the chosen message implementation.', 0, $e ); diff --git a/src/UriFactoryDiscovery.php b/src/UriFactoryDiscovery.php index 8988c5f..1eef1e6 100644 --- a/src/UriFactoryDiscovery.php +++ b/src/UriFactoryDiscovery.php @@ -25,7 +25,7 @@ public static function find() $uriFactory = static::findOneByType(UriFactory::class); } catch (DiscoveryFailedException $e) { throw new NotFoundException( - 'No uri factories found. To use Guzzle or Diactoros factories install php-http/message and the chosen message implementation.', + 'No uri factories found. To use Guzzle, Diactoros or Slim Framework factories install php-http/message and the chosen message implementation.', 0, $e );