From b3552db02fe5210b25fc0381f5f0cb4e2f6fbb36 Mon Sep 17 00:00:00 2001 From: "D. Berge" Date: Fri, 15 Aug 2025 18:08:25 +0200 Subject: [PATCH] Add error checking to ETag logic --- lib/www/server/api/middleware/etag/watch.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/www/server/api/middleware/etag/watch.js b/lib/www/server/api/middleware/etag/watch.js index 6a9b99d..e568e23 100644 --- a/lib/www/server/api/middleware/etag/watch.js +++ b/lib/www/server/api/middleware/etag/watch.js @@ -66,8 +66,18 @@ const rels = [ function invalidateCache (data, cache) { return new Promise((resolve, reject) => { + if (!data) { + ERROR("invalidateCache called with no data"); + return; + } + + if (!data.payload) { + ERROR("invalidateCache called without a payload; channel = %s", data.channel); + return; + } + const channel = data.channel; - const project = data.payload.pid ?? data.payload?.new?.pid ?? data.payload?.old?.pid; + const project = data.payload?.pid ?? data.payload?.new?.pid ?? data.payload?.old?.pid; const operation = data.payload.operation; const table = data.payload.table; const fields = { channel, project, operation, table };