diff --git a/app/config/container.php b/app/config/container.php index 4ff1e86..97b41cf 100644 --- a/app/config/container.php +++ b/app/config/container.php @@ -4,6 +4,8 @@ use App\Factories; use App\Middlewares; use App\SortMethods; use App\ViewFunctions; +use Middlewares as HttpMiddlewares; +use Psr\Container\ContainerInterface; use Tightenco\Collect\Support\Collection; return [ @@ -20,10 +22,13 @@ return [ /** Array of application files (to be hidden) */ 'app_files' => ['app', 'index.php', '.hidden'], - /** Array of application middlewares */ - 'middlewares' => [ - Middlewares\WhoopsMiddleware::class - ], + /** Collection of application middlewares */ + 'middlewares' => function (ContainerInterface $container): Collection { + return Collection::make([ + Middlewares\WhoopsMiddleware::class, + new HttpMiddlewares\Expires($container->get('http_expires')), + ]); + }, /** Array of sort options mapped to their respective classes */ 'sort_methods' => [ diff --git a/app/src/Bootstrap/MiddlewareManager.php b/app/src/Bootstrap/MiddlewareManager.php index 208d256..8aa50bb 100644 --- a/app/src/Bootstrap/MiddlewareManager.php +++ b/app/src/Bootstrap/MiddlewareManager.php @@ -2,11 +2,8 @@ namespace App\Bootstrap; -use App\Middlewares; use DI\Container; -use Middlewares as HttpMiddlewares; use Slim\App; -use Tightenco\Collect\Support\Collection; class MiddlewareManager { @@ -33,16 +30,12 @@ class MiddlewareManager * * @return void */ - public function __invoke() + public function __invoke(): void { - Collection::make($this->container->get('middlewares'))->each( - function (string $middleware): void { + $this->container->get('middlewares')->each( + function ($middleware): void { $this->app->add($middleware); } ); - - $this->app->add(new HttpMiddlewares\Expires( - $this->container->get('http_expires') - )); } }