23 lines
584 B
JavaScript
23 lines
584 B
JavaScript
const apicache = require('apicache');
|
|
const redis = require('redis');
|
|
|
|
let cacheWithRedis = apicache
|
|
.options({
|
|
debug: true,
|
|
defaultDuration: '1 hour',
|
|
redisClient: redis.createClient()
|
|
})
|
|
.middleware;
|
|
|
|
// higher-order function returns false for responses of other status codes (e.g. 403, 404, 500, etc)
|
|
const onlyStatus200 = (req, res) => res.statusCode === 200
|
|
|
|
const cacheSuccesses = cacheWithRedis('1 hour', onlyStatus200);
|
|
const cache1year = cacheWithRedis('1 year', onlyStatus200);
|
|
|
|
module.exports = {
|
|
cacheSuccesses,
|
|
cache1year
|
|
}
|
|
|