From 756287832506e7c58adc27776a4845327fa77dfd Mon Sep 17 00:00:00 2001 From: Daniel Klabbers Date: Tue, 13 Jul 2021 00:44:27 +0200 Subject: [PATCH] prevent a couple of cycles by not resolving the excluded middleware on each middleware items --- framework/core/src/Api/ApiServiceProvider.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/framework/core/src/Api/ApiServiceProvider.php b/framework/core/src/Api/ApiServiceProvider.php index 15e4169c3..7d18e806b 100644 --- a/framework/core/src/Api/ApiServiceProvider.php +++ b/framework/core/src/Api/ApiServiceProvider.php @@ -119,8 +119,10 @@ class ApiServiceProvider extends AbstractServiceProvider $this->container->singleton(Client::class, function ($container) { $pipe = new MiddlewarePipe; - $middlewareStack = array_filter($container->make('flarum.api.middleware'), function ($middlewareClass) use ($container) { - return ! in_array($middlewareClass, $container->make('flarum.api_client.exclude_middleware')); + $exclude = $container->make('flarum.api_client.exclude_middleware'); + + $middlewareStack = array_filter($container->make('flarum.api.middleware'), function ($middlewareClass) use ($exclude) { + return ! in_array($middlewareClass, $exclude); }); foreach ($middlewareStack as $middleware) {