_ / index.js
aripbae's picture
Create index.js
75a22b0 verified
const node = {}
const modules = 'child_process|fs|os|process|timers|util'
for (let m of modules.split`|`) node[m] = require(`node:${m}`)
const formatBytes = require('bytes'),
express = require('express'),
morgan = require('morgan'),
serveIndex = require('serve-index')
const limitSize = '69mb',
tmpDir = node.os.tmpdir(),
{ env } = node.process,
PORT = env.SERVER_PORT || env.PORT || 7860
const logger = (...args) => console.log(
new Date().toLocaleTimeString(
'fr', { timeZone: 'Asia/Jakarta' }
),
...args
)
const execPromise = node.util.promisify(
node.child_process.exec
)
express()
.enable('trust proxy')
.set('json spaces', 2)
.use(express.json({ limit: limitSize }))
.use(express.urlencoded({ extended: true, limit: limitSize }))
.use(morgan('dev'))
.use(
tmpDir,
express.static(tmpDir),
serveIndex(tmpDir, { hidden: true, icons: true })
)
.all('/', (_, res) => res.json({ msg: 'goodbye world.' }))
.post('/eval', async (req, res) => {
let code = req.body.code, o
code = `(async function MengEval() { ${code} })()`
try { o = await eval(code) }
catch (e) { o = e }
finally { res.send(node.util.format(o)) }
})
.listen(PORT, logger)