1
0
Fork 0
mirror of synced 2024-05-20 12:42:39 +12:00

Moved request format to app init

This commit is contained in:
Matej Baco 2022-01-02 16:19:27 +01:00
parent c6feea3c9f
commit a762fe7b3e
4 changed files with 29 additions and 26 deletions

View file

@ -21,6 +21,7 @@ use Utopia\CLI\Console;
use Utopia\Database\Document;
use Utopia\Database\Query;
use Utopia\Database\Validator\Authorization;
use Appwrite\Utopia\Request\Filters\V12;
Config::setParam('domainVerification', false);
Config::setParam('cookieDomain', 'localhost');
@ -37,6 +38,26 @@ App::init(function ($utopia, $request, $response, $console, $project, $dbForCons
/** @var Utopia\Locale\Locale $locale */
/** @var array $clients */
/*
* Request format
*/
$route = $utopia->match($request);
Request::setRoute($route);
$requestFormat = $request->getHeader('x-appwrite-response-format', App::getEnv('_APP_SYSTEM_RESPONSE_FORMAT', ''));
if ($requestFormat) {
switch($requestFormat) {
// TODO: For some reason console is still on 0.11. We dont want this filter logic in console, console uses 0.12 SDK
case version_compare ($requestFormat , '0.11.0', '<=') :
Request::setFilter(new V12());
break;
default:
Request::setFilter(null);
}
} else {
Request::setFilter(null);
}
$domain = $request->getHostname();
$domains = Config::getParam('domains', []);
if (!array_key_exists($domain, $domains)) {
@ -87,8 +108,6 @@ App::init(function ($utopia, $request, $response, $console, $project, $dbForCons
$locale->setDefault($localeParam);
}
$route = $utopia->match($request);
if ($project->isEmpty()) {
throw new Exception('Project not found', 404);
}

View file

@ -2,7 +2,6 @@
require_once __DIR__.'/../vendor/autoload.php';
use Appwrite\Utopia\Request\Filters\V12;
use Appwrite\Utopia\Response;
use Swoole\Process;
use Swoole\Http\Server;
@ -187,26 +186,6 @@ $http->on('request', function (SwooleRequest $swooleRequest, SwooleResponse $swo
Authorization::cleanRoles();
Authorization::setRole('role:all');
/*
* Request format
*/
$route = $app->match($request);
Request::setRoute($route);
$requestFormat = $request->getHeader('x-appwrite-response-format', App::getEnv('_APP_SYSTEM_RESPONSE_FORMAT', ''));
if ($requestFormat) {
switch($requestFormat) {
// TODO: For some reason console is still on 0.11. We dont want this filter logic in console, console uses 0.12 SDK
case version_compare ($requestFormat , '0.11.0', '<=') :
Request::setFilter(new V12());
break;
default:
Request::setFilter(null);
}
} else {
Request::setFilter(null);
}
$app->run($request, $response);
} catch (\Throwable $th) {
$version = App::getEnv('_APP_VERSION', 'UNKNOWN');

View file

@ -38,7 +38,7 @@
"appwrite/php-clamav": "1.1.*",
"appwrite/php-runtimes": "0.6.*",
"utopia-php/framework": "0.19.*",
"utopia-php/framework": "dev-fix-get-args-after-init",
"utopia-php/logger": "0.1.*",
"utopia-php/abuse": "0.7.*",
"utopia-php/analytics": "0.2.*",
@ -66,7 +66,12 @@
"adhocore/jwt": "1.1.2",
"slickdeals/statsd": "3.1.0"
},
"repositories": [],
"repositories": [
{
"type": "git",
"url": "https://github.com/utopia-php/framework"
}
],
"require-dev": {
"appwrite/sdk-generator": "0.16.3",
"phpunit/phpunit": "9.5.10",

View file

@ -158,7 +158,7 @@ class HealthCustomServerTest extends Scope
$this->assertEquals(200, $response['headers']['status-code']);
$this->assertIsInt($response['body']['size']);
$this->assertLessThan(160, $response['body']['size']);
$this->assertLessThan(200, $response['body']['size']);
/**
* Test for FAILURE