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;