diff options
| author | nsfisis <nsfisis@gmail.com> | 2024-01-17 02:11:31 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2024-01-17 02:11:31 +0900 |
| commit | deacd0dfc195bca41af631114804d29937337cd8 (patch) | |
| tree | f1f83580e5bc892c0794ac41632bc0cce3498f65 /services/app/src/Middlewares/TwigMiddleware.php | |
| parent | 38ddeb28ec846ee966d0fe6873585d697a9ef373 (diff) | |
| download | phperkaigi-2024-albatross-deacd0dfc195bca41af631114804d29937337cd8.tar.gz phperkaigi-2024-albatross-deacd0dfc195bca41af631114804d29937337cd8.tar.zst phperkaigi-2024-albatross-deacd0dfc195bca41af631114804d29937337cd8.zip | |
.
Diffstat (limited to 'services/app/src/Middlewares/TwigMiddleware.php')
| -rw-r--r-- | services/app/src/Middlewares/TwigMiddleware.php | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/services/app/src/Middlewares/TwigMiddleware.php b/services/app/src/Middlewares/TwigMiddleware.php new file mode 100644 index 0000000..5b950ce --- /dev/null +++ b/services/app/src/Middlewares/TwigMiddleware.php @@ -0,0 +1,33 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Albatross\Middlewares; + +use Nsfisis\Albatross\Twig\CsrfExtension; +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\ServerRequestInterface; +use Psr\Http\Server\MiddlewareInterface; +use Psr\Http\Server\RequestHandlerInterface; +use Slim\App; +use Slim\Views\Twig; +use Slim\Views\TwigMiddleware as SlimTwigMiddleware; + +final class TwigMiddleware implements MiddlewareInterface +{ + private readonly SlimTwigMiddleware $wrapped; + + public function __construct(App $app, CsrfExtension $csrf_extension) + { + // TODO: + // $twig = Twig::create(__DIR__ . '/../../templates', ['cache' => __DIR__ . '/../../twig-cache']); + $twig = Twig::create(__DIR__ . '/../../templates', ['cache' => false]); + $twig->addExtension($csrf_extension); + $this->wrapped = SlimTwigMiddleware::create($app, $twig); + } + + public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface + { + return $this->wrapped->process($request, $handler); + } +} |
