From b9e776ae7463bc4cf301d3af20e25f08044df38b Mon Sep 17 00:00:00 2001 From: "D. Berge" Date: Fri, 1 Sep 2023 12:28:55 +0200 Subject: [PATCH] Use ETag middleware --- lib/www/server/api/index.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/www/server/api/index.js b/lib/www/server/api/index.js index ebd8daf..b37edd0 100644 --- a/lib/www/server/api/index.js +++ b/lib/www/server/api/index.js @@ -81,6 +81,9 @@ app.map({ app.use(mw.auth.authentify); +// Don't process the request if the data hasn't changed +app.use(mw.etag.ifNoneMatch); + // We must be authenticated before we can access these app.map({ '/project': { @@ -260,12 +263,12 @@ app.map({ }, '/queue/outgoing/': { 'asaqc': { - get: [ mw.queue.asaqc.get ], + get: [ mw.etag.noSave, mw.queue.asaqc.get ], post: [ mw.auth.access.write, mw.queue.asaqc.post ], '/project/:project': { - get: [ mw.queue.asaqc.get ], + get: [ mw.etag.noSave, mw.queue.asaqc.get ], '/sequence/:sequence': { - get: [ mw.queue.asaqc.get ], + get: [ mw.etag.noSave, mw.queue.asaqc.get ], } }, '/:id': { @@ -289,6 +292,10 @@ app.map({ // }); +app.use(mw.etag.save); +// Invalidate cache on database events +mw.etag.watch(app); + // Generic error handler. Stops stack dumps // being sent to clients. app.use(function (err, req, res, next) {