picea, $this->di) implements MiddlewareInterface { public function __construct( protected Picea $picea, protected ContainerInterface $di, ) { } public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { return $this->throw404($request); } public function throw404(ServerRequestInterface $request) : ResponseInterface { if ( getenv('DEBUG') && class_exists(\Picea\Asset\Asset::class) ) { $params = $request->getServerParams(); $scpName = basename(explode('?', $params['REQUEST_URI'] ?? "", 2)[0]); list(, $ext) = array_pad(explode('.', $scpName), 2, null); if ($ext && in_array($ext, ApplicationStrategy::ASSET_TRIGGER_UPDATE)) { $this->di->get(\Picea\Asset\Asset::class)->launchInstall(); } } return new \Laminas\Diactoros\Response\HtmlResponse($this->picea->renderHtml("lean/error/404", [], $this), 404); } }; } }