diff options
Diffstat (limited to 'middlewares/cache.js')
-rw-r--r-- | middlewares/cache.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/middlewares/cache.js b/middlewares/cache.js new file mode 100644 index 000000000..782165155 --- /dev/null +++ b/middlewares/cache.js | |||
@@ -0,0 +1,25 @@ | |||
1 | ;(function () { | ||
2 | 'use strict' | ||
3 | |||
4 | var cacheMiddleware = { | ||
5 | cache: cache | ||
6 | } | ||
7 | |||
8 | function cache (cache) { | ||
9 | return function (req, res, next) { | ||
10 | // If we want explicitly a cache | ||
11 | // Or if we don't specify if we want a cache or no and we are in production | ||
12 | if (cache === true || (cache !== false && process.env.NODE_ENV === 'production')) { | ||
13 | res.setHeader('Cache-Control', 'public') | ||
14 | } else { | ||
15 | res.setHeader('Cache-Control', 'no-cache, no-store, max-age=0, must-revalidate') | ||
16 | } | ||
17 | |||
18 | next() | ||
19 | } | ||
20 | } | ||
21 | |||
22 | // --------------------------------------------------------------------------- | ||
23 | |||
24 | module.exports = cacheMiddleware | ||
25 | })() | ||