Enabled PruneCacheMiddleware and renamed some middlewares

This commit is contained in:
Chris Kankiewicz
2021-06-25 10:37:14 -07:00
parent e79c1b7546
commit 4b67a0851e
6 changed files with 24 additions and 23 deletions

View File

@@ -4,7 +4,6 @@ use App\Factories;
use App\Middlewares;
use App\SortMethods;
use App\ViewFunctions;
use Psr\Container\ContainerInterface;
return [
/** Path definitions */
@@ -21,11 +20,12 @@ return [
'app_files' => ['app', 'index.php', '.hidden'],
/** Array of application middlewares */
'middlewares' => function (ContainerInterface $container): array {
'middlewares' => function (): array {
return [
Middlewares\CacheMiddleware::class,
Middlewares\ThemeMiddleware::class,
Middlewares\WhoopsMiddleware::class,
Middlewares\PruneCacheMiddleware::class,
Middlewares\CacheControlMiddleware::class,
Middlewares\RegisterGlobalsMiddleware::class,
];
},

View File

@@ -7,18 +7,18 @@ use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Server\RequestHandlerInterface as RequestHandler;
class CacheMiddleware
class CacheControlMiddleware
{
/** @var Config The application configuration */
protected $config;
/** Create a new CacheMiddleware. */
/** Create a new CacheControlMiddleware object. */
public function __construct(Config $config)
{
$this->config = $config;
}
/** Invoke the CacheMiddleware class. */
/** Invoke the CacheControlMiddleware class. */
public function __invoke(Request $request, RequestHandler $handler): ResponseInterface
{
$response = $handler->handle($request);

View File

@@ -7,7 +7,7 @@ use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Server\RequestHandlerInterface as RequestHandler;
use Slim\Views\Twig;
class ThemeMiddleware
class RegisterGlobalsMiddleware
{
/** Array of valid theme strings. */
private const VALID_THEMES = ['dark', 'light'];
@@ -20,7 +20,7 @@ class ThemeMiddleware
$this->view = $view;
}
/** Invoke the ThemeMiddleware class. */
/** Invoke the RegisterGlobalsMiddleware class. */
public function __invoke(Request $request, RequestHandler $handler): ResponseInterface
{
$this->view->getEnvironment()->addGlobal('theme', $this->getThemeFromRequest($request));

View File

@@ -12,9 +12,10 @@ class MiddlewareManagerTest extends TestCase
{
/** @const Array of application middlewares */
protected const MIDDLEWARES = [
Middlewares\CacheMiddleware::class,
Middlewares\ThemeMiddleware::class,
Middlewares\WhoopsMiddleware::class,
Middlewares\PruneCacheMiddleware::class,
Middlewares\CacheControlMiddleware::class,
Middlewares\RegisterGlobalsMiddleware::class,
];
public function test_it_registers_application_middlewares(): void

View File

@@ -2,7 +2,7 @@
namespace Tests\Middlewares;
use App\Middlewares\CacheMiddleware;
use App\Middlewares\CacheControlMiddleware;
use Fig\Http\Message\StatusCodeInterface;
use PHPUnit\Framework\MockObject\MockObject;
use Psr\Http\Message\ServerRequestInterface;
@@ -11,8 +11,8 @@ use Slim\Psr7\Headers;
use Slim\Psr7\Response;
use Tests\TestCase;
/** @covers \App\Middlewares\CacheMiddleware */
class CacheMiddlewareTest extends TestCase
/** @covers \App\Middlewares\CacheControlMiddleware */
class CacheControlMiddlewareTest extends TestCase
{
/** @var RequestHandlerInterface&MockObject */
protected $handler;
@@ -33,7 +33,7 @@ class CacheMiddlewareTest extends TestCase
]))
);
$response = (new CacheMiddleware($this->config))($this->request, $this->handler);
$response = (new CacheControlMiddleware($this->config))($this->request, $this->handler);
$this->assertEquals(['max-age=0, private, must-revalidate'], $response->getHeader('Cache-Control'));
}
@@ -46,7 +46,7 @@ class CacheMiddlewareTest extends TestCase
]))
);
$response = (new CacheMiddleware($this->config))($this->request, $this->handler);
$response = (new CacheControlMiddleware($this->config))($this->request, $this->handler);
$this->assertEquals(['max-age=300, private, must-revalidate'], $response->getHeader('Cache-Control'));
}

View File

@@ -2,15 +2,15 @@
namespace Tests\Middlewares;
use App\Middlewares\ThemeMiddleware;
use App\Middlewares\RegisterGlobalsMiddleware;
use PHPUnit\Framework\MockObject\MockObject;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Slim\Views\Twig;
use Tests\TestCase;
/** @covers \App\Middlewares\ThemeMiddleware */
class ThemeMiddlewareTest extends TestCase
/** @covers \App\Middlewares\RegisterGlobalsMiddleware */
class RegisterGlobalsMiddlewareTest extends TestCase
{
/** @var Twig Twig templating component */
protected $view;
@@ -32,7 +32,7 @@ class ThemeMiddlewareTest extends TestCase
public function test_it_sets_the_theme_view_variabe_to_light_by_default(): void
{
(new ThemeMiddleware($this->view))($this->request, $this->handler);
(new RegisterGlobalsMiddleware($this->view))($this->request, $this->handler);
$this->assertEquals(['theme' => 'light'], $this->view->getEnvironment()->getGlobals());
}
@@ -43,7 +43,7 @@ class ThemeMiddlewareTest extends TestCase
'theme' => 'dark',
]);
(new ThemeMiddleware($this->view))($this->request, $this->handler);
(new RegisterGlobalsMiddleware($this->view))($this->request, $this->handler);
$this->assertEquals(['theme' => 'dark'], $this->view->getEnvironment()->getGlobals());
}
@@ -54,7 +54,7 @@ class ThemeMiddlewareTest extends TestCase
'theme' => 'dark',
]);
(new ThemeMiddleware($this->view))($this->request, $this->handler);
(new RegisterGlobalsMiddleware($this->view))($this->request, $this->handler);
$this->assertEquals(['theme' => 'dark'], $this->view->getEnvironment()->getGlobals());
}
@@ -65,7 +65,7 @@ class ThemeMiddlewareTest extends TestCase
'theme' => 'dim',
]);
(new ThemeMiddleware($this->view))($this->request, $this->handler);
(new RegisterGlobalsMiddleware($this->view))($this->request, $this->handler);
$this->assertEquals(['theme' => 'light'], $this->view->getEnvironment()->getGlobals());
}