<?php use Picea\Picea; use CSLSJ\Debogueur\DebogueurMiddleware; use Laminas\Diactoros\Response\HtmlResponse; use Psr\Http\Server\MiddlewareInterface, Psr\Http\Message\ServerRequestInterface, Psr\Http\Server\RequestHandlerInterface, Psr\Http\Message\ResponseInterface; use function DI\{ create, get, autowire }; error_reporting(getenv('ERROR_REPORTING') ?: ( E_ALL & ~E_USER_DEPRECATED & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE )); return [ /* do nothing in production !*/ "dump" => function($c) { if (! function_exists('dump') ) { function dump(...$what) {} } return new class implements MiddlewareInterface { public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface { return $handler->handle($request); } }; }, "errorHandler" => create(DebogueurMiddleware::class)->constructor(getenv('DEBOGUEUR_HASH') ?: "", null, get('app.errorhandler.html')), 'app.errorhandler.html' => function($c, Picea $picea) { return function(\Throwable $exception) use ($picea) { return new HtmlResponse($picea->renderHtml('lean/error/500', [ 'title' => "Une erreur s'est produite lors de l'exécution du script.", 'subtitle' => "Êtes-vous connecté avec le bon compte ?", 'message' => $exception->getMessage(), 'exception' => $exception, ])); }; }, ];