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.split('/'); 26 let dest = ''; 27 components.forEach(c => { 28 dest = `${c}/${dest}`; 29 }); 30 dest = `https://${dest}`; 31 res.redirect(dest); 32 } 33 else { 34 res.redirect('https://www.youtube.com/watch?v=dQw4w9WgXcQ'); 35 } 36 }); 37 38 this._server = app.listen(port, () => console.log(`rickognito running on port ${port}!`)); 39 } 40 41 close() { 42 if (this._server) { 43 this._server.close(); 44 } 45 } 46} 47 48module.exports = Web;