From f16e1d0bd392eb8db36fa3fdadca3cbdc9887419 Mon Sep 17 00:00:00 2001 From: Dimitri Sitchet Tomkeu Date: Fri, 23 May 2025 18:06:27 +0100 Subject: [PATCH] =?UTF-8?q?patch:=20rendre=20les=20proprietes=20du=20FileV?= =?UTF-8?q?iewer=20prot=C3=A9g=C3=A9es=20afin=20qu'on=20puisse=20l'=C3=A9t?= =?UTF-8?q?endre?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Middlewares/FileViewer.php | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/Middlewares/FileViewer.php b/src/Middlewares/FileViewer.php index b323b45..84fe140 100644 --- a/src/Middlewares/FileViewer.php +++ b/src/Middlewares/FileViewer.php @@ -26,11 +26,17 @@ class FileViewer implements MiddlewareInterface /** * Chemin d'accès du fichier qu'on souhaite affiché */ - private string $path = ''; + protected string $path = ''; - private ?FilesystemAdapter $disk = null; + /** + * Specifie si le middleware doit directement renvoyé le fichier au navigateur ou pas. + * Ceci peut être utile si une classe fille a besoin de faire quelques traitements sur le fichier avant de le renvoyer + */ + protected bool $render = true; + + protected ?FilesystemAdapter $disk = null; - public function __construct(private FilesystemManager $filesystem, private Response $response) + public function __construct(protected FilesystemManager $filesystem, protected Response $response) { } @@ -67,6 +73,10 @@ public function process(ServerRequestInterface $request, RequestHandlerInterface throw FileNotFoundException::fileNotFound($this->path); } + if (! $this->render) { + return $this->response; + } + $path = $this->disk->path($this->path); if ($request->boolean('download')) {