From 7b9ebbbb5f8aa221ac8f9a574ee70c6242400eba Mon Sep 17 00:00:00 2001 From: Alejandro Celaya Date: Fri, 30 Jul 2021 18:05:03 +0200 Subject: [PATCH] Fixed use of ImplicitOptionsMiddleware with its new signature --- .../EmptyResponseImplicitOptionsMiddlewareFactory.php | 9 ++++++++- ...EmptyResponseImplicitOptionsMiddlewareFactoryTest.php | 7 ++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/module/Rest/src/Middleware/EmptyResponseImplicitOptionsMiddlewareFactory.php b/module/Rest/src/Middleware/EmptyResponseImplicitOptionsMiddlewareFactory.php index b4bc1952..1e773f21 100644 --- a/module/Rest/src/Middleware/EmptyResponseImplicitOptionsMiddlewareFactory.php +++ b/module/Rest/src/Middleware/EmptyResponseImplicitOptionsMiddlewareFactory.php @@ -6,11 +6,18 @@ namespace Shlinkio\Shlink\Rest\Middleware; use Laminas\Diactoros\Response\EmptyResponse; use Mezzio\Router\Middleware\ImplicitOptionsMiddleware; +use Psr\Http\Message\ResponseFactoryInterface; +use Psr\Http\Message\ResponseInterface; class EmptyResponseImplicitOptionsMiddlewareFactory { public function __invoke(): ImplicitOptionsMiddleware { - return new ImplicitOptionsMiddleware(fn () => new EmptyResponse()); + return new ImplicitOptionsMiddleware(new class implements ResponseFactoryInterface { + public function createResponse(int $code = 200, string $reasonPhrase = ''): ResponseInterface + { + return new EmptyResponse(); + } + }); } } diff --git a/module/Rest/test/Middleware/EmptyResponseImplicitOptionsMiddlewareFactoryTest.php b/module/Rest/test/Middleware/EmptyResponseImplicitOptionsMiddlewareFactoryTest.php index 9d216913..4928f2ef 100644 --- a/module/Rest/test/Middleware/EmptyResponseImplicitOptionsMiddlewareFactoryTest.php +++ b/module/Rest/test/Middleware/EmptyResponseImplicitOptionsMiddlewareFactoryTest.php @@ -7,6 +7,7 @@ namespace ShlinkioTest\Shlink\Rest\Middleware; use Laminas\Diactoros\Response\EmptyResponse; use Mezzio\Router\Middleware\ImplicitOptionsMiddleware; use PHPUnit\Framework\TestCase; +use Psr\Http\Message\ResponseFactoryInterface; use ReflectionObject; use Shlinkio\Shlink\Rest\Middleware\EmptyResponseImplicitOptionsMiddlewareFactory; @@ -34,6 +35,10 @@ class EmptyResponseImplicitOptionsMiddlewareFactoryTest extends TestCase $ref = new ReflectionObject($instance); $prop = $ref->getProperty('responseFactory'); $prop->setAccessible(true); - self::assertInstanceOf(EmptyResponse::class, $prop->getValue($instance)()); + + /** @var ResponseFactoryInterface $value */ + $value = $prop->getValue($instance); + + self::assertInstanceOf(EmptyResponse::class, $value->createResponse()); } }