mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-30 14:22:07 +03:00
15d9a77092
* moved `server/config` to `shared/config` * updated config import paths in server to use shared * updated config import paths in frontend to use shared * updated config import paths in test to use shared * updated config import paths in root to use shared * trigger regression tests * of course the rebase broke tests
36 lines
1.1 KiB
JavaScript
36 lines
1.1 KiB
JavaScript
const config = require('../../../shared/config');
|
|
const Manager = require('./manager');
|
|
const manager = new Manager();
|
|
|
|
// Responsible for handling requests for sitemap files
|
|
module.exports = function handler(siteApp) {
|
|
const verifyResourceType = function verifyResourceType(req, res, next) {
|
|
if (!Object.prototype.hasOwnProperty.call(manager, req.params.resource)) {
|
|
return res.sendStatus(404);
|
|
}
|
|
|
|
next();
|
|
};
|
|
|
|
siteApp.get('/sitemap.xml', function sitemapXML(req, res) {
|
|
res.set({
|
|
'Cache-Control': 'public, max-age=' + config.get('caching:sitemap:maxAge'),
|
|
'Content-Type': 'text/xml'
|
|
});
|
|
|
|
res.send(manager.getIndexXml());
|
|
});
|
|
|
|
siteApp.get('/sitemap-:resource.xml', verifyResourceType, function sitemapResourceXML(req, res) {
|
|
const type = req.params.resource;
|
|
const page = 1;
|
|
|
|
res.set({
|
|
'Cache-Control': 'public, max-age=' + config.get('caching:sitemap:maxAge'),
|
|
'Content-Type': 'text/xml'
|
|
});
|
|
|
|
res.send(manager.getSiteMapXml(type, page));
|
|
});
|
|
};
|