| import express from 'express' | |
| const app = express() | |
| const port = 7860 | |
| app.use(express.static('public')) | |
| app.get('/stats', async (req, res) => { | |
| try { | |
| const results = await fetch(process.env.WEBTV_MEDIA_SERVER_API_URL) | |
| const json = await results.json() | |
| const response = Object.entries(json.live).reduce((acc, [key, channel]) => ({ | |
| ...acc, | |
| [key]: (channel as any).subscribers.length | |
| }), {}) | |
| res.write(JSON.stringify(response)) | |
| res.end() | |
| } catch (err) { | |
| res.write(JSON.stringify({})) | |
| res.end() | |
| } | |
| }) | |
| app.listen(port, () => { console.log(`Open http://localhost:${port}`) }) |