diff --git a/server/config/config.example.js b/server/config/config.example.js index 2b1bf8e7..f5a6284a 100644 --- a/server/config/config.example.js +++ b/server/config/config.example.js @@ -364,6 +364,9 @@ module.exports = requestTimeout : 20000, // Socket retries when timeout requestRetries : 3, + // If > 0, sets a cache-control max-age (in seconds) to the GET response + // headers. + getRequestsCachePeriod : 0, // Mediasoup settings mediasoup : { diff --git a/server/server.js b/server/server.js index 02dfaee5..5fdbb733 100755 --- a/server/server.js +++ b/server/server.js @@ -87,12 +87,27 @@ const tls = const app = express(); app.use(helmet.hsts()); -const sharedCookieParser=cookieParser(); +const sharedCookieParser = cookieParser(); app.use(sharedCookieParser); app.use(bodyParser.json({ limit: '5mb' })); app.use(bodyParser.urlencoded({ limit: '5mb', extended: true })); +if (config.getRequestsCachePeriod > 0) +{ + app.use((req, res, next) => { + if (req.method === 'GET') + { + res.set('Cache-control', `public, max-age=${config.getRequestsCachePeriod}`) + } + else + { + res.set('Cache-control', 'no-store'); + } + next(); + }); +} + const session = expressSession({ secret : config.cookieSecret, name : config.cookieName,