This commit is contained in:
Chirag Aggarwal
2026-03-23 10:08:19 +05:30
parent d008d9bff0
commit 6421bc8689
7 changed files with 28 additions and 31 deletions
+4 -2
View File
@@ -3,6 +3,8 @@
require_once __DIR__ . '/init.php';
require_once __DIR__ . '/init/span.php';
$registerRequestResources = require __DIR__ . '/init/resources/request.php';
use Appwrite\Utopia\Request;
use Appwrite\Utopia\Response;
use Swoole\Constant;
@@ -495,7 +497,7 @@ $http->on(Constant::EVENT_START, function ($http) use ($payloadSize, $totalWorke
});
});
$swooleAdapter->onRequest(function ($utopiaRequest, $utopiaResponse) use ($files, $swooleAdapter) {
$swooleAdapter->onRequest(function ($utopiaRequest, $utopiaResponse) use ($files, $swooleAdapter, $registerRequestResources) {
Span::init('http.request');
$request = new Request($utopiaRequest->getSwooleRequest());
@@ -522,7 +524,7 @@ $swooleAdapter->onRequest(function ($utopiaRequest, $utopiaResponse) use ($files
$app = new Http($swooleAdapter, 'UTC');
$requestContainer->set('utopia', fn () => $app);
registerRequestResources($requestContainer);
$registerRequestResources($requestContainer);
$app->setCompression(System::getEnv('_APP_COMPRESSION_ENABLED', 'enabled') === 'enabled');
$app->setCompressionMinSize(intval(System::getEnv('_APP_COMPRESSION_MIN_SIZE_BYTES', '1024'))); // 1KB
-2
View File
@@ -90,8 +90,6 @@ $container->set('platform', function () {
return Config::getParam('platform', []);
}, []);
require_once __DIR__ . '/resources/request.php';
$container->set('console', function () {
return new Document(Config::getParam('console'));
}, []);
+2 -3
View File
@@ -63,8 +63,7 @@ use Utopia\Validator\WhiteList;
* These resources depend (directly or transitively) on request/response
* and must be fresh for each HTTP request.
*/
function registerRequestResources(Container $container): void
{
return function (Container $container): void {
$container->set('utopia:graphql', function ($utopia) {
return $utopia;
}, ['utopia']);
@@ -1234,4 +1233,4 @@ function registerRequestResources(Container $container): void
$container->set('deviceForBuilds', function ($project, Telemetry $telemetry) {
return new Device\Telemetry($telemetry, getDevice(APP_STORAGE_BUILDS . '/app-' . $project->getId()));
}, ['project', 'telemetry']);
}
};
+2 -3
View File
@@ -39,8 +39,7 @@ use Utopia\Telemetry\Adapter as Telemetry;
* These resources depend on the queue message or keep mutable state and
* must be fresh for each worker job.
*/
function registerWorkerMessageResources(Container $container): void
{
return function (Container $container): void {
$container->set('log', fn () => new Log(), []);
$container->set('usage', fn () => new Context(), []);
@@ -379,4 +378,4 @@ function registerWorkerMessageResources(Container $container): void
return (int) ($plan['executionsRetentionCount'] ?? 100);
}, ['project', 'plan']);
}
};
+4 -6
View File
@@ -50,6 +50,8 @@ use Utopia\WebSocket\Server;
*/
require_once __DIR__ . '/init.php';
$registerRequestResources = require __DIR__ . '/init/resources/request.php';
Runtime::enableCoroutine(SWOOLE_HOOK_ALL);
// Log uncaught exceptions in one line instead of relying on Swoole's full backtrace dump
@@ -622,7 +624,7 @@ $server->onWorkerStart(function (int $workerId) use ($server, $register, $stats,
Console::error('Failed to restart pub/sub...');
});
$server->onOpen(function (int $connection, SwooleRequest $request) use ($server, $register, $stats, &$realtime) {
$server->onOpen(function (int $connection, SwooleRequest $request) use ($server, $register, $stats, &$realtime, $registerRequestResources) {
global $container;
$request = new Request($request);
$response = new Response(new SwooleResponse());
@@ -637,11 +639,7 @@ $server->onOpen(function (int $connection, SwooleRequest $request) use ($server,
$connectionContainer->set('request', fn () => $request);
$connectionContainer->set('response', fn () => $response);
if (function_exists('registerCloudRequestResources')) {
registerCloudRequestResources($connectionContainer);
} else {
registerRequestResources($connectionContainer);
}
$registerRequestResources($connectionContainer);
$project = null;
$logUser = null;
+4 -3
View File
@@ -1,7 +1,8 @@
<?php
require_once __DIR__ . '/init.php';
require_once __DIR__ . '/init/worker/message.php';
$registerWorkerMessageResources = require __DIR__ . '/init/worker/message.php';
use Appwrite\Certificates\LetsEncrypt;
use Appwrite\Platform\Appwrite;
@@ -91,8 +92,8 @@ $adapter = new Swoole(
$worker = new Server($adapter, $container);
try {
$worker->init()->action(function () use ($worker) {
registerWorkerMessageResources($worker->getContainer());
$worker->init()->action(function () use ($worker, $registerWorkerMessageResources) {
$registerWorkerMessageResources($worker->getContainer());
});
$container->set('bus', function ($register) use ($worker) {
Generated
+12 -12
View File
@@ -3985,16 +3985,16 @@
},
{
"name": "utopia-php/di",
"version": "0.3.1",
"version": "0.3.2",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/di.git",
"reference": "68873b7267842315d01d82a83b988bae525eab31"
"reference": "07025d721ed5d9be27932e8e640acf1467fc4b9d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/utopia-php/di/zipball/68873b7267842315d01d82a83b988bae525eab31",
"reference": "68873b7267842315d01d82a83b988bae525eab31",
"url": "https://api.github.com/repos/utopia-php/di/zipball/07025d721ed5d9be27932e8e640acf1467fc4b9d",
"reference": "07025d721ed5d9be27932e8e640acf1467fc4b9d",
"shasum": ""
},
"require": {
@@ -4030,9 +4030,9 @@
],
"support": {
"issues": "https://github.com/utopia-php/di/issues",
"source": "https://github.com/utopia-php/di/tree/0.3.1"
"source": "https://github.com/utopia-php/di/tree/0.3.2"
},
"time": "2026-03-13T05:47:23+00:00"
"time": "2026-03-21T07:42:10+00:00"
},
{
"name": "utopia-php/dns",
@@ -5479,16 +5479,16 @@
"packages-dev": [
{
"name": "appwrite/sdk-generator",
"version": "1.11.13",
"version": "1.11.14",
"source": {
"type": "git",
"url": "https://github.com/appwrite/sdk-generator.git",
"reference": "c97527030060798129f2cb7e1e767671bf09f3bd"
"reference": "ed4faf10fafa1930ed0be3dfe43e41561f2de75b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/appwrite/sdk-generator/zipball/c97527030060798129f2cb7e1e767671bf09f3bd",
"reference": "c97527030060798129f2cb7e1e767671bf09f3bd",
"url": "https://api.github.com/repos/appwrite/sdk-generator/zipball/ed4faf10fafa1930ed0be3dfe43e41561f2de75b",
"reference": "ed4faf10fafa1930ed0be3dfe43e41561f2de75b",
"shasum": ""
},
"require": {
@@ -5524,9 +5524,9 @@
"description": "Appwrite PHP library for generating API SDKs for multiple programming languages and platforms",
"support": {
"issues": "https://github.com/appwrite/sdk-generator/issues",
"source": "https://github.com/appwrite/sdk-generator/tree/1.11.13"
"source": "https://github.com/appwrite/sdk-generator/tree/1.11.14"
},
"time": "2026-03-20T04:48:54+00:00"
"time": "2026-03-20T10:55:13+00:00"
},
{
"name": "brianium/paratest",