aripbae commited on
Commit
468fe66
·
verified ·
1 Parent(s): 0c623ab

Create index.js

Browse files
Files changed (1) hide show
  1. index.js +45 -0
index.js ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ const node = {}
2
+ for (let m of ['child_process', 'fs', 'os', 'process', 'timers', 'util'])
3
+ node[m] = require(`node:${m}`)
4
+
5
+ const formatBytes = require('bytes'),
6
+ express = require('express'),
7
+ morgan = require('morgan'),
8
+ serveIndex = require('serve-index')
9
+
10
+ const limitSize = '69mb',
11
+ tmpDir = node.os.tmpdir(),
12
+ { env } = node.process,
13
+ PORT = env.SERVER_PORT || env.PORT || 7860
14
+
15
+ const logger = (...args) => console.log(
16
+ new Date().toLocaleTimeString(
17
+ 'fr', { timeZone: 'Asia/Jakarta' }
18
+ ),
19
+ ...args
20
+ )
21
+
22
+ express()
23
+ .enable('trust proxy')
24
+ .set('json spaces', 2)
25
+ .use(express.json({ limit: limitSize }))
26
+ .use(express.urlencoded({
27
+ extended: true, limit: limitSize
28
+ }))
29
+ .use(morgan('dev'))
30
+ .use(
31
+ tmpDir,
32
+ express.static(tmpDir),
33
+ serveIndex(
34
+ tmpDir, { hidden: true, icons: true }
35
+ )
36
+ )
37
+ .all('/', (_, res) => res.json({ msg: 'goodbye world.' }))
38
+ .post('/eval', async (req, res) => {
39
+ let code = req.body.code, o
40
+ code = `(async function MengEval() { ${code} })()`
41
+ try { o = await eval(code) }
42
+ catch (e) { o = e }
43
+ finally { res.send(node.util.format(o)) }
44
+ })
45
+ .listen(PORT, logger)