Chris@0: cookies->has(BigPipeStrategy::NOJS_COOKIE) || !$request->hasSession()) { Chris@0: throw new AccessDeniedHttpException(); Chris@0: } Chris@0: Chris@0: if (!$request->query->has('destination')) { Chris@0: throw new HttpException(400, 'The original location is missing.'); Chris@0: } Chris@0: Chris@0: $response = new LocalRedirectResponse($request->query->get('destination')); Chris@0: // Set cookie without httpOnly, so that JavaScript can delete it. Chris@18: $response->headers->setCookie(new Cookie(BigPipeStrategy::NOJS_COOKIE, TRUE, 0, '/', NULL, FALSE, FALSE, FALSE, NULL)); Chris@0: $response->addCacheableDependency((new CacheableMetadata())->addCacheContexts(['cookies:' . BigPipeStrategy::NOJS_COOKIE, 'session.exists'])); Chris@0: return $response; Chris@0: } Chris@0: Chris@0: }