diff --git a/CHANGELOG.md b/CHANGELOG.md index 50ac789..f1d048d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Change Log +## (unreleased) + +- [#241](https://github.com/php-http/discovery/pull/241) - Support discovering PSR-17 factories of `httpsoft/http-message` package + ## 1.18.1 - 2023-05-17 - [#242](https://github.com/php-http/discovery/pull/242) - Better exception message when no legacy php-http message factories can be built. Also needs php-http/message-factory package and they are deprecated in favor of PSR-17 anyways. diff --git a/src/Composer/Plugin.php b/src/Composer/Plugin.php index bba2e2b..008f3d0 100644 --- a/src/Composer/Plugin.php +++ b/src/Composer/Plugin.php @@ -81,6 +81,7 @@ class Plugin implements PluginInterface, EventSubscriberInterface 'http-interop/http-factory-guzzle' => [], 'http-interop/http-factory-diactoros' => [], 'http-interop/http-factory-slim' => [], + 'httpsoft/http-message' => [], ], ]; diff --git a/src/Strategy/CommonPsr17ClassesStrategy.php b/src/Strategy/CommonPsr17ClassesStrategy.php index 3e1c29b..9e858f9 100644 --- a/src/Strategy/CommonPsr17ClassesStrategy.php +++ b/src/Strategy/CommonPsr17ClassesStrategy.php @@ -31,6 +31,7 @@ final class CommonPsr17ClassesStrategy implements DiscoveryStrategy 'Http\Factory\Slim\RequestFactory', 'Laminas\Diactoros\RequestFactory', 'Slim\Psr7\Factory\RequestFactory', + 'HttpSoft\Message\RequestFactory', ], ResponseFactoryInterface::class => [ 'Phalcon\Http\Message\ResponseFactory', @@ -41,6 +42,7 @@ final class CommonPsr17ClassesStrategy implements DiscoveryStrategy 'Http\Factory\Slim\ResponseFactory', 'Laminas\Diactoros\ResponseFactory', 'Slim\Psr7\Factory\ResponseFactory', + 'HttpSoft\Message\ResponseFactory', ], ServerRequestFactoryInterface::class => [ 'Phalcon\Http\Message\ServerRequestFactory', @@ -51,6 +53,7 @@ final class CommonPsr17ClassesStrategy implements DiscoveryStrategy 'Http\Factory\Slim\ServerRequestFactory', 'Laminas\Diactoros\ServerRequestFactory', 'Slim\Psr7\Factory\ServerRequestFactory', + 'HttpSoft\Message\ServerRequestFactory', ], StreamFactoryInterface::class => [ 'Phalcon\Http\Message\StreamFactory', @@ -61,6 +64,7 @@ final class CommonPsr17ClassesStrategy implements DiscoveryStrategy 'Http\Factory\Slim\StreamFactory', 'Laminas\Diactoros\StreamFactory', 'Slim\Psr7\Factory\StreamFactory', + 'HttpSoft\Message\StreamFactory', ], UploadedFileFactoryInterface::class => [ 'Phalcon\Http\Message\UploadedFileFactory', @@ -71,6 +75,7 @@ final class CommonPsr17ClassesStrategy implements DiscoveryStrategy 'Http\Factory\Slim\UploadedFileFactory', 'Laminas\Diactoros\UploadedFileFactory', 'Slim\Psr7\Factory\UploadedFileFactory', + 'HttpSoft\Message\UploadedFileFactory', ], UriFactoryInterface::class => [ 'Phalcon\Http\Message\UriFactory', @@ -81,6 +86,7 @@ final class CommonPsr17ClassesStrategy implements DiscoveryStrategy 'Http\Factory\Slim\UriFactory', 'Laminas\Diactoros\UriFactory', 'Slim\Psr7\Factory\UriFactory', + 'HttpSoft\Message\UriFactory', ], ];