40 lines
1.5 KiB
PHP
40 lines
1.5 KiB
PHP
<?php
|
|
|
|
use Psr\Container\ContainerInterface;
|
|
|
|
|
|
use Lean\ApplicationStrategy\{ ThrowableHandler, ThrowableHandlerInterface, NotFoundDecoratorInterface, NotFoundDecorator };
|
|
use Psr\Http\Message\ServerRequestInterface;
|
|
use Laminas\{ Diactoros\ServerRequestFactory, HttpHandlerRunner\Emitter\EmitterInterface, HttpHandlerRunner\Emitter\SapiEmitter };
|
|
use Lean\Factory\{ HttpFactory, HttpFactoryInterface };
|
|
use Picea\Picea;
|
|
|
|
use function DI\autowire, DI\create, DI\get;
|
|
|
|
return [
|
|
ServerRequestInterface::class => function ($c) {
|
|
return ServerRequestFactory::fromGlobals(
|
|
$_SERVER, $_GET, $_POST, $_COOKIE, $_FILES
|
|
);
|
|
},
|
|
|
|
EmitterInterface::class => create(SapiEmitter::class),
|
|
|
|
HttpFactoryInterface::class => create(HttpFactory::class),
|
|
|
|
'error.401' => function(ContainerInterface $c, Picea $picea) {
|
|
return $c->get(HttpFactoryInterface::class)::createHtmlResponse($picea->renderHtml("lean/error/401", []), 401);
|
|
},
|
|
|
|
'error.404' => function(ContainerInterface $c, Picea $picea) {
|
|
return $c->get(HttpFactoryInterface::class)::createHtmlResponse($picea->renderHtml("lean/error/404", []), 404);
|
|
},
|
|
|
|
'error.500' => function(ContainerInterface $c, Picea $picea) {
|
|
return $c->get(HttpFactoryInterface::class)::createHtmlResponse($picea->renderHtml("lean/error/500", []), 500);
|
|
},
|
|
|
|
ThrowableHandlerInterface::class => autowire(ThrowableHandler::class),
|
|
NotFoundDecoratorInterface::class => autowire(NotFoundDecorator::class),
|
|
];
|