diff --git a/lib/www/server/api/index.js b/lib/www/server/api/index.js index 4dd4b87..625b0c6 100644 --- a/lib/www/server/api/index.js +++ b/lib/www/server/api/index.js @@ -83,6 +83,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': { @@ -274,12 +277,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': { @@ -303,6 +306,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) {