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