Hey, check out this crazy news article that totally isn't a rickroll
at master 1.3 kB view raw
1const path = require('path'); 2const express = require('express'); 3const exuseragent = require('express-useragent'); 4 5 6class Web { 7 constructor() { 8 const port = process.env.PORT || 8080; 9 const app = express(); 10 app.set('trust proxy', 1); 11 app.use(exuseragent.express()); 12 app.use('/assets/', express.static('assets')); 13 14 app.get('/', (_, res) => { 15 res.sendFile(path.join(__dirname, 'views', 'index.html')); 16 }); 17 18 app.get('/healthcheck', (req, res) => { 19 res.send('Healthy'); 20 }); 21 22 app.get('/*all', (req, res) => { 23 if (req.useragent.isBot) { 24 let components = req.url.substring(1).split('/').reverse(); 25 if (components.length && !components[0]) { 26 components.push(components.shift()); 27 } 28 res.redirect(`https://${components.join('/')}`); 29 } 30 else { 31 res.redirect('https://www.youtube.com/watch?v=dQw4w9WgXcQ'); 32 } 33 }); 34 35 this._server = app.listen(port, () => console.log(`rickognito running on port ${port}!`)); 36 } 37 38 close() { 39 if (this._server) { 40 this._server.close(); 41 } 42 } 43} 44 45module.exports = Web;