/
index.js
43 lines (35 loc) · 1.07 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
require('dotenv').config();
const path = require('path');
/* eslint-disable no-underscore-dangle */
const express = require('express');
const pick = (obj, keys) => keys.reduce((o, key) => {
o[key] = obj[key];
return o
}, {})
const app = express();
app.use((req, res, next) => {
req.locale = req.query.__blang__ || 'en';
res.sendDebugJson = (message) => {
res.json({
debugMessage: message,
req: pick(req, ['headers', 'baseUrl', 'hostname', 'ip', 'ips', 'method', 'originalUrl', 'path', 'protocol', 'query', ])
})
}
return next();
});
app.get('/', (req, res) => {
res.sendFile(path.join(__dirname, 'view/public.html'));
});
app.get('/api', (req, res) => {
if (req.locale === 'en') {
res.sendDebugJson('Hooray, you blocklet is up and running');
} else {
res.sendDebugJson('太棒了,你的 Blocklet 正常运行中,当前是中文模式');
}
});
const port = Number(process.env.BLOCKLET_PORT || 3030);
app.listen(port, () => {
// eslint-disable-next-line no-console
console.log(`Blocklet ready at ${port}`);
});
require('./echo');