From 3125063c86095d079e722cfc3f29c8a0cc728026 Mon Sep 17 00:00:00 2001 From: Matthias Vogel Date: Thu, 14 Sep 2023 12:31:57 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix=20middleware.in.total=20mult?= =?UTF-8?q?iple=20times=20called?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Classes/Middleware/WrapMiddleware.php | 2 +- Classes/Middleware/XClassMiddlewareDispatcher.php | 2 +- phpstan.neon | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Classes/Middleware/WrapMiddleware.php b/Classes/Middleware/WrapMiddleware.php index b024a4c..d4eb330 100644 --- a/Classes/Middleware/WrapMiddleware.php +++ b/Classes/Middleware/WrapMiddleware.php @@ -36,7 +36,7 @@ public function handle(ServerRequestInterface $request): ResponseInterface self::$middlewareIn = TimingUtility::stopWatch($this->isKernel ? 'requestHandler' : 'middleware.in', $this->info); if ($this->isKernel) { - TimingUtility::end('middleware.in.total'); + $request->getAttribute('middleware.in.total')?->stop(); } $response = $this->requestHandler->handle($request); diff --git a/Classes/Middleware/XClassMiddlewareDispatcher.php b/Classes/Middleware/XClassMiddlewareDispatcher.php index 09cd48e..2bc481f 100644 --- a/Classes/Middleware/XClassMiddlewareDispatcher.php +++ b/Classes/Middleware/XClassMiddlewareDispatcher.php @@ -34,7 +34,7 @@ public function handle(ServerRequestInterface $request): ResponseInterface $stop = TimingUtility::stopWatch('bootstrap'); $stop->startTime = $_SERVER["REQUEST_TIME_FLOAT"]; $stop->stop(); - TimingUtility::start('middleware.in.total'); + $request = $request->withAttribute('middleware.in.total', TimingUtility::stopWatch('middleware.in.total')); if ($this->tip instanceof WrapMiddleware) { $this->tip->isFirst(); } diff --git a/phpstan.neon b/phpstan.neon index b004e3d..a6f86c2 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -7,4 +7,4 @@ parameters: reportUnmatchedIgnoredErrors: false typo3: requestGetAttributeMapping: - server-timing:middleware:inward: Kanti\ServerTiming\Dto\StopWatch|null + middleware.in.total: Kanti\ServerTiming\Dto\StopWatch|null