loadEnv(_WS_FRONT_DIR_ . '/.env'); // If we want to use new container access in front (Warning: Experimental feature from now!) if (isset($_ENV['WS_FF_FRONT_CONTAINER_V2']) && filter_var($_ENV['WS_FF_FRONT_CONTAINER_V2'], \FILTER_VALIDATE_BOOL)) { // Activate Symfony's debug if we need it if (_WS_MODE_DEV_) { Debug::enable(); } // Block the process until the cache clear is in progress, this must be done before the kernel is created so it doesn't // try to use the old container CacheClearLocker::waitUntilUnlocked(_WS_ENV_, _WS_APP_ID_); // Starting Kernel $kernel = new FrontKernel(_WS_ENV_, _WS_MODE_DEV_); $request = Request::createFromGlobals(); // Try to handle request try { $response = $kernel->handle($request, HttpKernelInterface::MAIN_REQUEST, false); $response->send(); define('FRONT_LEGACY_CONTEXT', false); $kernel->terminate($request, $response); } catch (NotFoundHttpException|Exception $exception) { // correct Apache charset (except if it's too late) if (!headers_sent()) { header('Content-Type: text/html; charset=utf-8'); } } } // Prepare and trigger LEGACY front dispatcher define('FRONT_LEGACY_CONTEXT', true); Dispatcher::getInstance()->dispatch();