From 3722b93a197597f5da12bf23059b11670922841d Mon Sep 17 00:00:00 2001 From: John Date: Thu, 24 Mar 2022 18:14:58 +0000 Subject: [PATCH] Add check for set-cookie --- packages/adapter-cloudflare/files/worker.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/adapter-cloudflare/files/worker.js b/packages/adapter-cloudflare/files/worker.js index d9649ec6c8dc..cc5b0530d789 100644 --- a/packages/adapter-cloudflare/files/worker.js +++ b/packages/adapter-cloudflare/files/worker.js @@ -50,7 +50,8 @@ export default { // dynamically-generated pages try { - // @ts-ignore + // `default` cache property exists in the cloudflare workers environment only. + // @ts-expect-error const cache = caches.default; let response = await cache.match(req); @@ -62,9 +63,15 @@ export default { } }); - // Use context so you can return the response without blocking on + // Use waitUntil so you can return the response without blocking on // writing to cache try { + // If cookies are being set, ensure we dont cache the page. + if (response.headers.has('Set-Cookie')) { + response = new Response(response.body, response); + response.headers.append('Cache-Control', 'private=Set-Cookie'); + } + context.waitUntil(cache.put(req, response.clone())); } catch { // noop