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