From 9e368b9a98522b9384cd48213d38b80799cc02f4 Mon Sep 17 00:00:00 2001 From: Eino-Antti Kuuskoski Date: Thu, 18 Mar 2021 17:12:18 +0200 Subject: [PATCH] Ensure mock status code callback return value is non-empty Prevents a PHP 7.4 warning: ``` array_key_exists(): The first argument should be either a string or an integer in openapi-data-mocker-server-middleware\src\Mock\OpenApiDataMockerRouteMiddleware.php on line 90 ``` when customCallback returns an empty value. --- src/Mock/OpenApiDataMockerRouteMiddleware.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Mock/OpenApiDataMockerRouteMiddleware.php b/src/Mock/OpenApiDataMockerRouteMiddleware.php index 0646fd2..498593e 100644 --- a/src/Mock/OpenApiDataMockerRouteMiddleware.php +++ b/src/Mock/OpenApiDataMockerRouteMiddleware.php @@ -87,7 +87,7 @@ public function process(ServerRequestInterface $request, RequestHandlerInterface $customCallback = $this->getMockStatusCodeCallback; $customAfterCallback = $this->afterCallback; $mockedStatusCode = (is_callable($customCallback)) ? $customCallback($request, $this->responses) : null; - if (array_key_exists($mockedStatusCode, $this->responses)) { + if ($mockedStatusCode && array_key_exists($mockedStatusCode, $this->responses)) { // response schema successfully selected, we can mock it now $statusCode = ($mockedStatusCode === 'default') ? 200 : (int) $mockedStatusCode; $mockedResponse = (array) $this->responses[$mockedStatusCode];