function(Container $c) { return new Slim\Views\Blade( $c->get('folders')->templates, $c->get('folders')->cache, null, [ 'urls' => $c->get('urls'), 'auth' => $c->get(Incoviba\UI\Common\Service\Auth::class), 'api_key' => $c->get('API_KEY') ] ); }, Psr\Http\Client\ClientInterface::class => function(Container $c) { return new GuzzleHttp\Client([ 'base_uri' => $c->get('urls')->api, 'headers' => ['Authorization' => 'Bearer ' . $c->get('API_KEY')] ]); }, Incoviba\UI\Common\Service\Auth::class => function(Container $c) { return new Incoviba\UI\Common\Service\Auth( $c->get(Psr\Http\Client\ClientInterface::class), $c->get('cookie_name') ); }, Incoviba\UI\Common\Middleware\Auth::class => function(Container $c) { return new Incoviba\UI\Common\Middleware\Auth( $c->get(Incoviba\UI\Common\Service\Auth::class), $c->get(Nyholm\Psr7\Factory\Psr17Factory::class), ['/', '/auth/login'] ); }, Incoviba\UI\Common\Middleware\NotFound::class => function(Container $c) { return new Incoviba\UI\Common\Middleware\NotFound( $c->get(Nyholm\Psr7\Factory\Psr17Factory::class), $c->get(Slim\Views\Blade::class) ); } ];