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')) {