From 00ad0b9e692b4047edefed49cd86c0c509c210ce Mon Sep 17 00:00:00 2001 From: SychO9 Date: Fri, 3 Jun 2022 11:22:06 +0100 Subject: [PATCH 1/3] fix: repetitive requests when debugging forum frontend --- src/Clockwork/FlarumAuthenticator.php | 2 +- src/Middleware/ClockworkMiddleware.php | 2 ++ src/Provider/ClockworkServiceProvider.php | 8 ++++++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/Clockwork/FlarumAuthenticator.php b/src/Clockwork/FlarumAuthenticator.php index 96de22f..8465f0a 100644 --- a/src/Clockwork/FlarumAuthenticator.php +++ b/src/Clockwork/FlarumAuthenticator.php @@ -32,7 +32,7 @@ public function check($request) { $user = RequestUtil::getActor($request); - return !$user->isGuest() && $user->groups->contains($this->groupId); + return true;//!$user->isGuest() && $user->groups->contains($this->groupId); } public function requires() diff --git a/src/Middleware/ClockworkMiddleware.php b/src/Middleware/ClockworkMiddleware.php index afdc548..39f7192 100644 --- a/src/Middleware/ClockworkMiddleware.php +++ b/src/Middleware/ClockworkMiddleware.php @@ -56,6 +56,8 @@ public function process(ServerRequestInterface $request, RequestHandlerInterface $request = $request->withUri($uri->withPath('/api'.$uri->getPath())); } elseif ($requestHandler == 'flarum.admin.middleware') { $request = $request->withUri($uri->withPath('/admin'.$uri->getPath())); + } elseif ($requestHandler == 'flarum.forum.handler') { + $request = $request->withUri($uri->withPath('/forum'.$uri->getPath())); } $this->container['clockwork.flarum'] diff --git a/src/Provider/ClockworkServiceProvider.php b/src/Provider/ClockworkServiceProvider.php index 25f572d..40a17cd 100644 --- a/src/Provider/ClockworkServiceProvider.php +++ b/src/Provider/ClockworkServiceProvider.php @@ -24,6 +24,7 @@ use FoF\Clockwork\Clockwork\FlarumAuthenticator; use FoF\Clockwork\Clockwork\FlarumDataSource; use FoF\Clockwork\Middleware\BeforeRouteExecutionMiddleware; +use FoF\Clockwork\Middleware\ClockworkMiddleware; use Illuminate\Support\ServiceProvider; class ClockworkServiceProvider extends ServiceProvider @@ -48,6 +49,13 @@ public function boot() return $middleware; }); } + + // Remove the clockwork middleware from API Client handling + $this->app->extend('flarum.api_client.exclude_middleware', function (array $exlusions) { + $exlusions[] = ClockworkMiddleware::class; + + return $exlusions; + }); } public function register() From c8622c3066e740a0ec1636bc2eb008e2842ef0db Mon Sep 17 00:00:00 2001 From: SychO9 Date: Fri, 3 Jun 2022 11:25:06 +0100 Subject: [PATCH 2/3] revert admin check change --- src/Clockwork/FlarumAuthenticator.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Clockwork/FlarumAuthenticator.php b/src/Clockwork/FlarumAuthenticator.php index 8465f0a..96de22f 100644 --- a/src/Clockwork/FlarumAuthenticator.php +++ b/src/Clockwork/FlarumAuthenticator.php @@ -32,7 +32,7 @@ public function check($request) { $user = RequestUtil::getActor($request); - return true;//!$user->isGuest() && $user->groups->contains($this->groupId); + return !$user->isGuest() && $user->groups->contains($this->groupId); } public function requires() From 8728cb592451c9ba1a53e8ec79d44658e1150bde Mon Sep 17 00:00:00 2001 From: SychO9 Date: Fri, 3 Jun 2022 11:34:43 +0100 Subject: [PATCH 3/3] feat: add middleware event --- src/Clockwork/FlarumDataSource.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Clockwork/FlarumDataSource.php b/src/Clockwork/FlarumDataSource.php index 14bc073..f809d12 100644 --- a/src/Clockwork/FlarumDataSource.php +++ b/src/Clockwork/FlarumDataSource.php @@ -114,9 +114,11 @@ public function listenToEvents() { $this->container['events']->listen('clockwork.middleware.start', function () { $this->timeline->event('Request processing')->color('purple')->begin(); + $this->timeline->event('Middleware')->color('yellow')->begin(); }); $this->container['events']->listen('clockwork.controller.start', function () { + $this->timeline->event('Middleware')->end(); $this->timeline->event('Controller logic')->color('purple')->begin(); });