mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-30 14:22:07 +03:00
bff2fd5f3b
no issue - The redirect is done from `/feed` to `/rss`
46 lines
1.1 KiB
JavaScript
46 lines
1.1 KiB
JavaScript
const ParentRouter = require('./ParentRouter');
|
|
const urlUtils = require('../../../shared/url-utils');
|
|
|
|
const controllers = require('./controllers');
|
|
|
|
/**
|
|
* @description RSS Router, which should be used as a sub-router in other routes.
|
|
*
|
|
* "/rss" -> RSS Router
|
|
*/
|
|
class RSSRouter extends ParentRouter {
|
|
constructor() {
|
|
super('RSSRouter');
|
|
|
|
this.route = {value: '/rss/'};
|
|
this._registerRoutes();
|
|
}
|
|
|
|
/**
|
|
* @description Register all routes of this router.
|
|
* @private
|
|
*/
|
|
_registerRoutes() {
|
|
this.mountRoute(this.route.value, controllers.rss);
|
|
|
|
// REGISTER: redirect rule
|
|
this.mountRoute('/feed/', this._redirectFeedRequest.bind(this));
|
|
}
|
|
|
|
/**
|
|
* @description Simple controller function to redirect /feed to /rss
|
|
* @param {Object} req
|
|
* @param {Object}res
|
|
* @private
|
|
*/
|
|
_redirectFeedRequest(req, res) {
|
|
urlUtils
|
|
.redirect301(
|
|
res,
|
|
urlUtils.urlJoin(urlUtils.getSubdir(), req.baseUrl, this.route.value)
|
|
);
|
|
}
|
|
}
|
|
|
|
module.exports = RSSRouter;
|