From 04bf0fc62264308894407a70356349cb4eee1477 Mon Sep 17 00:00:00 2001 From: Ron Rise Date: Tue, 6 May 2025 08:38:32 -0400 Subject: [PATCH] Improvements --- src/Http/JsonResponseFactory.php | 10 +++++++++- src/Server.php | 2 ++ src/Traefik/RedisClient.php | 2 +- tests/Traefik/RedisClientTest.php | 12 ++++++++++++ 4 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 tests/Traefik/RedisClientTest.php diff --git a/src/Http/JsonResponseFactory.php b/src/Http/JsonResponseFactory.php index c4f1914..c8be22f 100644 --- a/src/Http/JsonResponseFactory.php +++ b/src/Http/JsonResponseFactory.php @@ -5,13 +5,15 @@ declare(strict_types=1); namespace Siteworxpro\App\Http; use Nyholm\Psr7\Response; +use Psr\Http\Message\ResponseFactoryInterface; +use Psr\Http\Message\ResponseInterface; /** * Class JsonResponseFactory * * A factory class for creating JSON responses. */ -class JsonResponseFactory +class JsonResponseFactory implements ResponseFactoryInterface { /** * Create a JSON response with the given data and status code. @@ -31,4 +33,10 @@ class JsonResponseFactory body: json_encode($data, JSON_THROW_ON_ERROR) ); } + + public function createResponse(int $code = 200, string $reasonPhrase = ''): ResponseInterface + { + return new Response($code) + ->withHeader('Content-type', 'application/json'); + } } diff --git a/src/Server.php b/src/Server.php index 5f3cfc4..84cd8eb 100644 --- a/src/Server.php +++ b/src/Server.php @@ -11,6 +11,7 @@ use League\Route\Http\Exception\MethodNotAllowedException; use League\Route\Http\Exception\NotFoundException; use League\Route\RouteGroup; use League\Route\Router; +use League\Route\Strategy\JsonStrategy; use Nyholm\Psr7\Factory\Psr17Factory; use Siteworxpro\App\Controllers\MiddlewaresController; use Siteworxpro\App\Controllers\RoutesController; @@ -76,6 +77,7 @@ class Server ); $this->router = new Router(); + $this->router->setStrategy(new JsonStrategy(new JsonResponseFactory())); $this->registerRoutes(); // $this->bootModelCapsule(); // no db diff --git a/src/Traefik/RedisClient.php b/src/Traefik/RedisClient.php index 67d2ae9..e24bd16 100644 --- a/src/Traefik/RedisClient.php +++ b/src/Traefik/RedisClient.php @@ -207,7 +207,7 @@ class RedisClient } } - return $values->unique()->values()->toArray(); + return $values->unique()->values()->sort()->values()->toArray(); } /** diff --git a/tests/Traefik/RedisClientTest.php b/tests/Traefik/RedisClientTest.php new file mode 100644 index 0000000..650602c --- /dev/null +++ b/tests/Traefik/RedisClientTest.php @@ -0,0 +1,12 @@ +