Files
RSSHub/lib/routes/test/index.js
2019-08-23 15:44:52 +08:00

80 lines
2.2 KiB
JavaScript

const config = require('@/config');
let cacheIndex = 0;
module.exports = async (ctx) => {
if (ctx.params.id === '0') {
throw Error('Error test');
}
let item = [];
if (ctx.params.id === 'long') {
item.push({
title: `Long Title `.repeat(10),
description: `Long Description `.repeat(10),
pubDate: new Date(`2018-3-1`).toUTCString(),
link: `https://github.com/DIYgod/RSSHub/issues/0`,
author: `DIYgod0`,
});
} else if (ctx.params.id === 'cache') {
const description = await ctx.cache.tryGet(
'test',
() => ({
text: `Cache${++cacheIndex}`,
}),
config.cache.routeExpire * 2
);
item.push({
title: 'Cache Title',
description: description.text,
pubDate: new Date(`2018-3-1`).toUTCString(),
link: `https://github.com/DIYgod/RSSHub/issues/0`,
author: `DIYgod0`,
});
}
for (let i = 1; i < 6; i++) {
item.push({
title: `Title${i}`,
description: `Description${i}`,
pubDate: new Date(new Date() - i * 10 * 1000).toUTCString(),
link: `https://github.com/DIYgod/RSSHub/issues/${i}`,
author: `DIYgod${i}`,
});
}
if (ctx.params.id === 'empty') {
item = null;
}
if (ctx.params.id === 'allow_empty') {
item = null;
}
if (ctx.params.id === 'enclosure') {
item = [
{
title: '',
link: 'https://github.com/DIYgod/RSSHub/issues/1',
enclosure_url: 'https://github.com/DIYgod/RSSHub/issues/1',
enclosure_length: 3661,
},
];
}
if (ctx.query.mode === 'fulltext') {
item = [
{
title: '',
link: 'https://m.thepaper.cn/newsDetail_forward_4059298',
},
];
}
ctx.state.data = {
title: `Test ${ctx.params.id}`,
itunes_author: ctx.params.id === 'enclosure' ? 'DIYgod' : null,
link: 'https://github.com/DIYgod/RSSHub',
item,
allowEmpty: ctx.params.id === 'allow_empty',
};
};