Ghost/core/frontend/services/rss/cache.js

17 lines
521 B
JavaScript
Raw Normal View History

const crypto = require('crypto');
const generateFeed = require('./generate-feed');
const feedCache = {};
module.exports.getXML = function getFeedXml(baseUrl, data) {
const dataHash = crypto.createHash('md5').update(JSON.stringify(data)).digest('hex');
if (!feedCache[baseUrl] || feedCache[baseUrl].hash !== dataHash) {
// We need to regenerate
feedCache[baseUrl] = {
hash: dataHash,
xml: generateFeed(baseUrl, data)
};
}
return feedCache[baseUrl].xml;
};