summaryrefslogtreecommitdiff
path: root/src/Http/Psr7ServiceProvider.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/Http/Psr7ServiceProvider.php')
-rw-r--r--src/Http/Psr7ServiceProvider.php35
1 files changed, 25 insertions, 10 deletions
diff --git a/src/Http/Psr7ServiceProvider.php b/src/Http/Psr7ServiceProvider.php
index 72fdef8e..fe4449ff 100644
--- a/src/Http/Psr7ServiceProvider.php
+++ b/src/Http/Psr7ServiceProvider.php
@@ -3,27 +3,42 @@
namespace Engelsystem\Http;
use Engelsystem\Container\ServiceProvider;
+use PhpExtended\HttpMessage\ResponseFactory;
+use PhpExtended\HttpMessage\ServerRequestFactory;
+use PhpExtended\HttpMessage\StreamFactory;
+use PhpExtended\HttpMessage\UploadedFileFactory;
+use Psr\Http\Message\ResponseFactoryInterface;
use Psr\Http\Message\ResponseInterface;
+use Psr\Http\Message\ServerRequestFactoryInterface;
use Psr\Http\Message\ServerRequestInterface;
-use Symfony\Bridge\PsrHttpMessage\Factory\DiactorosFactory;
+use Psr\Http\Message\StreamFactoryInterface;
+use Psr\Http\Message\UploadedFileFactoryInterface;
+use Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory;
+use Symfony\Bridge\PsrHttpMessage\HttpMessageFactoryInterface;
class Psr7ServiceProvider extends ServiceProvider
{
public function register()
{
- /** @var DiactorosFactory $psr7Factory */
- $psr7Factory = $this->app->make(DiactorosFactory::class);
- $this->app->instance('psr7.factory', $psr7Factory);
+ foreach (
+ [
+ ServerRequestFactory::class => ['psr7.factory.request', ServerRequestFactoryInterface::class],
+ ResponseFactory::class => ['psr7.factory.response', ResponseFactoryInterface::class],
+ UploadedFileFactory::class => ['psr7.factory.upload', UploadedFileFactoryInterface::class],
+ StreamFactory::class => ['psr7.factory.stream', StreamFactoryInterface::class],
+ PsrHttpFactory::class => ['psr7.factory', HttpMessageFactoryInterface::class],
+ ] as $class => $aliases
+ ) {
+ foreach ($aliases as $alias) {
+ $this->app->bind($alias, $class);
+ }
+ }
- /** @var Request $request */
- $request = $this->app->get('request');
- $this->app->instance('psr7.request', $request);
+ $this->app->bind('psr7.request', 'request');
$this->app->bind(ServerRequestInterface::class, 'psr7.request');
- /** @var Response $response */
- $response = $this->app->get('response');
- $this->app->instance('psr7.response', $response);
+ $this->app->bind('psr7.response', 'response');
$this->app->bind(ResponseInterface::class, 'psr7.response');
}
}