23 lines
603 B
JavaScript
23 lines
603 B
JavaScript
|
const http = require('http');
|
||
|
const v8 = require('v8');
|
||
|
|
||
|
const server = http.createServer((req, res) => {
|
||
|
const chunks = [];
|
||
|
req.on('data', chunk => { chunks.push(chunk); });
|
||
|
req.on('end', () => {
|
||
|
const js = Buffer.concat(chunks).toString('utf8');
|
||
|
try {
|
||
|
const result = eval(js); // eslint-disable-line no-eval
|
||
|
res.end(v8.serialize({ result }));
|
||
|
} catch (e) {
|
||
|
res.end(v8.serialize({ error: e.stack }));
|
||
|
}
|
||
|
});
|
||
|
}).listen(0, '127.0.0.1', () => {
|
||
|
process.stdout.write(`Listening: ${server.address().port}\n`);
|
||
|
});
|
||
|
|
||
|
setTimeout(() => {
|
||
|
process.exit(0);
|
||
|
}, 30000);
|