diff --git a/.env b/.env index 1cc5b84a3..b6e3f7a2e 100644 --- a/.env +++ b/.env @@ -3,6 +3,7 @@ _APP_ENV=development _APP_SYSTEM_EMAIL_NAME=Appwrite _APP_SYSTEM_EMAIL_ADDRESS=team@appwrite.io _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=security@appwrite.io +_APP_SYSTEM_RESPONSE_FORMAT= _APP_OPTIONS_ABUSE=disabled _APP_OPTIONS_FORCE_HTTPS=disabled _APP_OPENSSL_KEY_V1=your-secret-key @@ -34,5 +35,4 @@ _APP_FUNCTIONS_CPUS=1 _APP_FUNCTIONS_MEMORY=128 _APP_FUNCTIONS_MEMORY_SWAP=128 _APP_MAINTENANCE_INTERVAL=86400 -_APP_SYSTEM_RESPONSE_FORMAT= _APP_USAGE_STATS=enabled \ No newline at end of file diff --git a/app/config/variables.php b/app/config/variables.php index d713acd5b..2189dc264 100644 --- a/app/config/variables.php +++ b/app/config/variables.php @@ -93,6 +93,13 @@ return [ 'required' => false, 'question' => '', ], + [ + 'name' => '_APP_SYSTEM_RESPONSE_FORMAT', + 'description' => '', + 'default' => '', + 'required' => false, + 'question' => '', + ], [ 'name' => '_APP_USAGE_STATS', 'description' => 'This variable allows you to disable the collection and displaying of usage stats. This value is set to \'enabled\' by default, to disable the usage stats set the value to \'disabled\'. When disabled, it\'s recommended to turn off the Worker Usage, Influxdb and Telegraf containers for better resource usage.', @@ -359,10 +366,4 @@ return [ ], ], ], - [ - 'name' => '_APP_SYSTEM_RESPONSE_FORMAT', - 'default' => '', - 'required' => false, - 'question' => '', - ], ]; \ No newline at end of file diff --git a/app/controllers/general.php b/app/controllers/general.php index e718cc9b5..dfb28d50a 100644 --- a/app/controllers/general.php +++ b/app/controllers/general.php @@ -116,7 +116,7 @@ App::init(function ($utopia, $request, $response, $console, $project, $user, $lo ->addHeader('Server', 'Appwrite') ->addHeader('X-Content-Type-Options', 'nosniff') ->addHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE') - ->addHeader('Access-Control-Allow-Headers', 'Origin, Cookie, Set-Cookie, X-Requested-With, Content-Type, Access-Control-Allow-Origin, Access-Control-Request-Headers, Accept, X-Appwrite-Project, X-Appwrite-Key, X-Appwrite-Locale, X-Appwrite-Mode, X-SDK-Version, Cache-Control, Expires, Pragma') + ->addHeader('Access-Control-Allow-Headers', 'Origin, Cookie, Set-Cookie, X-Requested-With, Content-Type, Access-Control-Allow-Origin, Access-Control-Request-Headers, Accept, X-Appwrite-Project, X-Appwrite-Key, X-Appwrite-Locale, X-Appwrite-Mode, X-Appwrite-JWT, X-SDK-Version, Cache-Control, Expires, Pragma') ->addHeader('Access-Control-Expose-Headers', 'X-Fallback-Cookies') ->addHeader('Access-Control-Allow-Origin', $refDomain) ->addHeader('Access-Control-Allow-Credentials', 'true') @@ -236,7 +236,7 @@ App::options(function ($request, $response) { $response ->addHeader('Server', 'Appwrite') ->addHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE') - ->addHeader('Access-Control-Allow-Headers', 'Origin, Cookie, Set-Cookie, X-Requested-With, Content-Type, Access-Control-Allow-Origin, Access-Control-Request-Headers, Accept, X-Appwrite-Project, X-Appwrite-Key, X-Appwrite-Locale, X-Appwrite-Mode, X-SDK-Version, Cache-Control, Expires, Pragma, X-Fallback-Cookies') + ->addHeader('Access-Control-Allow-Headers', 'Origin, Cookie, Set-Cookie, X-Requested-With, Content-Type, Access-Control-Allow-Origin, Access-Control-Request-Headers, Accept, X-Appwrite-Project, X-Appwrite-Key, X-Appwrite-Locale, X-Appwrite-Mode, X-Appwrite-JWT, X-SDK-Version, Cache-Control, Expires, Pragma, X-Fallback-Cookies') ->addHeader('Access-Control-Expose-Headers', 'X-Fallback-Cookies') ->addHeader('Access-Control-Allow-Origin', $origin) ->addHeader('Access-Control-Allow-Credentials', 'true') diff --git a/docker-compose.yml b/docker-compose.yml index 83024b829..da6de62f3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -21,7 +21,6 @@ services: - --entrypoints.web.address=:80 - --entrypoints.websecure.address=:443 - --accesslog=true - restart: unless-stopped ports: - 80:80 - 443:443 @@ -43,7 +42,6 @@ services: args: - TESTING=true - VERSION=dev - restart: unless-stopped ports: - 9501:80 networks: @@ -80,6 +78,7 @@ services: - _APP_SYSTEM_EMAIL_NAME - _APP_SYSTEM_EMAIL_ADDRESS - _APP_SYSTEM_SECURITY_EMAIL_ADDRESS + - _APP_SYSTEM_RESPONSE_FORMAT - _APP_OPTIONS_ABUSE - _APP_OPTIONS_FORCE_HTTPS - _APP_OPENSSL_KEY_V1 @@ -106,7 +105,6 @@ services: - _APP_STORAGE_LIMIT - _APP_FUNCTIONS_TIMEOUT - _APP_FUNCTIONS_CONTAINERS - - _APP_SYSTEM_RESPONSE_FORMAT - _APP_FUNCTIONS_CPUS - _APP_FUNCTIONS_MEMORY - _APP_FUNCTIONS_MEMORY_SWAP @@ -116,7 +114,6 @@ services: container_name: appwrite-worker-usage build: context: . - restart: unless-stopped networks: - appwrite volumes: @@ -137,7 +134,6 @@ services: container_name: appwrite-worker-audits build: context: . - restart: unless-stopped networks: - appwrite volumes: @@ -161,7 +157,6 @@ services: container_name: appwrite-worker-webhooks build: context: . - restart: unless-stopped networks: - appwrite volumes: @@ -187,7 +182,6 @@ services: container_name: appwrite-worker-tasks build: context: . - restart: unless-stopped networks: - appwrite volumes: @@ -212,7 +206,6 @@ services: container_name: appwrite-worker-deletes build: context: . - restart: unless-stopped networks: - appwrite volumes: @@ -239,7 +232,6 @@ services: container_name: appwrite-worker-certificates build: context: . - restart: unless-stopped networks: - appwrite volumes: @@ -266,7 +258,6 @@ services: container_name: appwrite-worker-functions build: context: . - restart: unless-stopped networks: - appwrite volumes: @@ -274,8 +265,8 @@ services: - appwrite-functions:/storage/functions:rw - /tmp:/tmp:rw - ./app:/usr/src/code/app - - ./docker:/usr/src/code/docker - ./src:/usr/src/code/src + - ./docker:/usr/src/code/docker depends_on: - redis - mariadb @@ -300,7 +291,6 @@ services: container_name: appwrite-worker-mails build: context: . - restart: unless-stopped networks: - appwrite volumes: @@ -327,7 +317,6 @@ services: container_name: appwrite-maintenance build: context: . - restart: unless-stopped networks: - appwrite depends_on: @@ -348,7 +337,6 @@ services: container_name: appwrite-schedule build: context: . - restart: unless-stopped networks: - appwrite volumes: @@ -364,7 +352,6 @@ services: mariadb: image: appwrite/mariadb:1.2.0 # fix issues when upgrading using: mysql_upgrade -u root -p container_name: appwrite-mariadb - restart: unless-stopped networks: - appwrite volumes: @@ -394,7 +381,6 @@ services: redis: image: redis:6.0-alpine container_name: appwrite-redis - restart: unless-stopped networks: - appwrite volumes: @@ -403,7 +389,6 @@ services: clamav: image: appwrite/clamav:1.2.0 container_name: appwrite-clamav - restart: unless-stopped networks: - appwrite volumes: @@ -412,7 +397,6 @@ services: influxdb: image: influxdb:1.8-alpine container_name: appwrite-influxdb - restart: unless-stopped networks: - appwrite volumes: @@ -421,14 +405,12 @@ services: telegraf: image: appwrite/telegraf:1.0.0 container_name: appwrite-telegraf - restart: unless-stopped networks: - appwrite maildev: # used mainly for dev tests image: djfarrelly/maildev container_name: appwrite-maildev - restart: unless-stopped ports: - '9503:80' networks: @@ -437,7 +419,6 @@ services: request-catcher: # used mainly for dev tests image: smarterdm/http-request-catcher container_name: appwrite-request-catcher - restart: unless-stopped ports: - '9504:5000' networks: diff --git a/tests/e2e/General/HTTPTest.php b/tests/e2e/General/HTTPTest.php index 1282a9e48..df234f1e1 100644 --- a/tests/e2e/General/HTTPTest.php +++ b/tests/e2e/General/HTTPTest.php @@ -26,7 +26,7 @@ class HTTPTest extends Scope $this->assertEquals(200, $response['headers']['status-code']); $this->assertEquals('Appwrite', $response['headers']['server']); $this->assertEquals('GET, POST, PUT, PATCH, DELETE', $response['headers']['access-control-allow-methods']); - $this->assertEquals('Origin, Cookie, Set-Cookie, X-Requested-With, Content-Type, Access-Control-Allow-Origin, Access-Control-Request-Headers, Accept, X-Appwrite-Project, X-Appwrite-Key, X-Appwrite-Locale, X-Appwrite-Mode, X-SDK-Version, Cache-Control, Expires, Pragma, X-Fallback-Cookies', $response['headers']['access-control-allow-headers']); + $this->assertEquals('Origin, Cookie, Set-Cookie, X-Requested-With, Content-Type, Access-Control-Allow-Origin, Access-Control-Request-Headers, Accept, X-Appwrite-Project, X-Appwrite-Key, X-Appwrite-Locale, X-Appwrite-Mode, X-Appwrite-JWT, X-SDK-Version, Cache-Control, Expires, Pragma, X-Fallback-Cookies', $response['headers']['access-control-allow-headers']); $this->assertEquals('X-Fallback-Cookies', $response['headers']['access-control-expose-headers']); $this->assertEquals('http://localhost', $response['headers']['access-control-allow-origin']); $this->assertEquals('true', $response['headers']['access-control-allow-credentials']);