From 035cbacbfb4a555f3b766883bb0ebba5f00184d5 Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Mon, 18 May 2026 14:08:32 +0100 Subject: [PATCH] Use 'params' injection in V20 filter Drops the redundant Route::resolveParams() call. The matched path params are now provided directly via the new frame-local 'params' injection from utopia-php/http, avoiding a second URL parse. Co-Authored-By: Claude Opus 4.7 --- app/controllers/general.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/controllers/general.php b/app/controllers/general.php index 4b9c4f81b8..219c14774f 100644 --- a/app/controllers/general.php +++ b/app/controllers/general.php @@ -835,7 +835,8 @@ Http::init() ->inject('authorization') ->inject('publisherForDeletes') ->inject('executionsRetentionCount') - ->action(function (Http $utopia, SwooleRequest $swooleRequest, Request $request, Response $response, Log $log, Document $project, Database $dbForPlatform, callable $getProjectDB, Locale $locale, array $localeCodes, Reader $geodb, Event $queueForEvents, Bus $bus, Executor $executor, array $platform, callable $isResourceBlocked, string $previewHostname, Document $devKey, ?Key $apiKey, Cors $cors, Authorization $authorization, DeletePublisher $publisherForDeletes, int $executionsRetentionCount) { + ->inject('params') + ->action(function (Http $utopia, SwooleRequest $swooleRequest, Request $request, Response $response, Log $log, Document $project, Database $dbForPlatform, callable $getProjectDB, Locale $locale, array $localeCodes, Reader $geodb, Event $queueForEvents, Bus $bus, Executor $executor, array $platform, callable $isResourceBlocked, string $previewHostname, Document $devKey, ?Key $apiKey, Cors $cors, Authorization $authorization, DeletePublisher $publisherForDeletes, int $executionsRetentionCount, array $params) { /* * Appwrite Router */ @@ -876,7 +877,7 @@ Http::init() } if (version_compare($requestFormat, '1.8.0', '<')) { $dbForProject = $getProjectDB($project); - $request->addFilter(new RequestV20($dbForProject, $route->resolveParams($request->getURI(), $route->getPath()))); + $request->addFilter(new RequestV20($dbForProject, $params)); } if (version_compare($requestFormat, '1.9.0', '<')) { $request->addFilter(new RequestV21());