From 86bf2a9b0ef51f949ed9e4fb9c00028c3fcb9d65 Mon Sep 17 00:00:00 2001 From: Heimdall Date: Wed, 1 Apr 2026 07:11:15 +0000 Subject: [PATCH] Fix cache bypass scope bug causing 500 error response variable was scoped inside if(!bypassCache) block but referenced outside. Changed to const response in the R2 fetch section and conditionally cache based on bypassCache flag. --- src/worker.js | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/worker.js b/src/worker.js index 7e91328..ff1c107 100644 --- a/src/worker.js +++ b/src/worker.js @@ -588,12 +588,17 @@ export default { headers.set('ETag', object.etag); } - response = new Response(object.body, { headers }); + const response = new Response(object.body, { headers }); - ctx.waitUntil(Promise.all([ - cache.put(cacheKey, response.clone()), - recordUsage(env, customer, object.size) - ])); + // 캐시 바이패스가 아닌 경우에만 캐시에 저장 + if (!bypassCache) { + ctx.waitUntil(Promise.all([ + cache.put(cacheKey, response.clone()), + recordUsage(env, customer, object.size) + ])); + } else { + ctx.waitUntil(recordUsage(env, customer, object.size)); + } return response;