* * 200: The service worker */ #[PublicPage] #[NoCSRFRequired] #[FrontpageRoute(verb: 'GET', url: '/service-worker.js')] public function serviceWorker(): StreamResponse { $response = new StreamResponse( __DIR__ . '/../../js/service-worker.js', headers: [ 'Content-Type' => 'application/javascript', 'Service-Worker-Allowed' => '/' ] ); $policy = new ContentSecurityPolicy(); $policy->addAllowedWorkerSrcDomain("'self'"); $policy->addAllowedScriptDomain("'self'"); $policy->addAllowedConnectDomain("'self'"); $response->setContentSecurityPolicy($policy); return $response; } }