stacker.news/pages/rss.js

25 lines
621 B
JavaScript
Raw Normal View History

2021-07-23 15:45:09 +00:00
import ApolloClient from '../api/client'
import generateRssFeed from '../lib/rss'
2021-08-09 19:47:39 +00:00
import { MORE_ITEMS } from '../fragments/items'
2021-07-23 15:45:09 +00:00
export default function RssFeed () {
return null
}
2021-08-09 19:47:39 +00:00
export async function getServerSideProps ({ req, res }) {
2021-07-23 15:45:09 +00:00
const emptyProps = { props: {} } // to avoid server side warnings
2021-08-09 19:47:39 +00:00
const { error, data: { moreItems: { items } } } = await (await ApolloClient(req)).query({
query: MORE_ITEMS,
variables: { sort: 'hot' }
2021-07-23 15:45:09 +00:00
})
2021-08-09 19:47:39 +00:00
if (!items || error) return emptyProps
2021-07-23 15:45:09 +00:00
2021-08-09 19:47:39 +00:00
res.setHeader('Content-Type', 'text/xml')
res.write(generateRssFeed(items))
2021-07-23 15:45:09 +00:00
res.end()
return emptyProps
}