setDefaultSort,
videoCommentsFeedsValidator,
videoFeedsValidator,
- videosSortValidator
+ videosSortValidator,
+ feedsFormatValidator,
+ setFeedFormatContentType
} from '../middlewares'
import { VideoModel } from '../models/video/video'
import * as Feed from 'pfeed'
const feedsRouter = express.Router()
feedsRouter.get('/feeds/video-comments.:format',
- asyncMiddleware(cacheRoute(ROUTE_CACHE_LIFETIME.FEEDS)),
+ feedsFormatValidator,
+ setFeedFormatContentType,
+ asyncMiddleware(cacheRoute({
+ headerBlacklist: [
+ 'Content-Type'
+ ]
+ })(ROUTE_CACHE_LIFETIME.FEEDS)),
asyncMiddleware(videoCommentsFeedsValidator),
asyncMiddleware(generateVideoCommentsFeed)
)
feedsRouter.get('/feeds/videos.:format',
videosSortValidator,
setDefaultSort,
- asyncMiddleware(cacheRoute(ROUTE_CACHE_LIFETIME.FEEDS)),
+ feedsFormatValidator,
+ setFeedFormatContentType,
+ asyncMiddleware(cacheRoute({
+ headerBlacklist: [
+ 'Content-Type'
+ ]
+ })(ROUTE_CACHE_LIFETIME.FEEDS)),
commonVideosFiltersValidator,
asyncMiddleware(videoFeedsValidator),
asyncMiddleware(generateVideoFeed)
const format = req.params.format
if (format === 'atom' || format === 'atom1') {
- res.set('Content-Type', 'application/atom+xml')
return res.send(feed.atom1()).end()
}
if (format === 'json' || format === 'json1') {
- res.set('Content-Type', 'application/json')
return res.send(feed.json1()).end()
}
if (format === 'rss' || format === 'rss2') {
- res.set('Content-Type', 'application/rss+xml')
return res.send(feed.rss2()).end()
}
// We're in the ambiguous '.xml' case and we look at the format query parameter
if (req.query.format === 'atom' || req.query.format === 'atom1') {
- res.set('Content-Type', 'application/atom+xml')
return res.send(feed.atom1()).end()
}
- res.set('Content-Type', 'application/rss+xml')
return res.send(feed.rss2()).end()
}