Passed
Push — master ( d21aeb...6f7326 )
by Alexander
27:36 queued 12:36
created

MiddlewareProvider::register()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 7
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 9
rs 10
1
<?php
2
3
declare(strict_types=1);
4
5
namespace App\Provider;
6
7
use Psr\Container\ContainerInterface;
8
use Yiisoft\Di\Container;
9
use Yiisoft\Di\Support\ServiceProvider;
10
use Yiisoft\Router\Middleware\Router;
11
use Yiisoft\Yii\Web\MiddlewareDispatcher;
12
use Yiisoft\Yii\Web\ErrorHandler\ErrorCatcher;
13
use Yiisoft\Yii\Web\Middleware\Csrf;
14
use Yiisoft\Yii\Web\Middleware\SubFolder;
15
use Yiisoft\Yii\Web\Session\SessionMiddleware;
16
17
final class MiddlewareProvider extends ServiceProvider
18
{
19
    public function register(Container $container): void
20
    {
21
        $container->set(MiddlewareDispatcher::class, static function (ContainerInterface $container) {
22
            return (new MiddlewareDispatcher($container))
23
                ->addMiddleware($container->get(Router::class))
24
                ->addMiddleware($container->get(SubFolder::class))
25
                ->addMiddleware($container->get(SessionMiddleware::class))
26
                ->addMiddleware($container->get(Csrf::class))
27
                ->addMiddleware($container->get(ErrorCatcher::class));
28
        });
29
    }
30
}
31