const express = require("express"); const app = express(); const bodyP = require("body-parser"); const cors = require("cors"); const compiler = require("compilex"); const options = { stats: true }; compiler.init(options); app.use(express.json()); app.use(express.urlencoded({ extended: true })); app.use(cors()); app.get("/", function (req, res) { res.send("Hello World!!"); }); app.post("/compile", function (req, res) { var code = req.body.code; var input = req.body.input; var lang = req.body.lang; console.log(code + " " + input + " " + lang); try { if (lang == "Cpp") { if (!input) { var envData = { OS: "linux", cmd: "g++", options: { timeout: 10000 }, }; compiler.compileCPP(envData, code, function (data) { if (data.output) { res.send(data); } else { res.send({ error: data.error }); } }); } else { var envData = { OS: "linux", cmd: "g++", options: { timeout: 10000 }, }; compiler.compileCPPWithInput(envData, code, input, function (data) { if (data.output) { res.send(data); } else { res.send({ error: data.error }); } }); } } else if (lang == "Java") { if (!input) { var envData = { OS: "linux" }; compiler.compileJava(envData, code, function (data) { if (data.output) { res.send(data); } else { res.send({ error: data.error }); } }); } else { var envData = { OS: "linux" }; compiler.compileJavaWithInput(envData, code, input, function (data) { if (data.output) { res.send(data); } else { res.send({ error: data.error }); } }); } } else if (lang == "Python") { if (!input) { var envData = { OS: "linux" }; compiler.compilePython(envData, code, function (data) { if (data.output) { res.send(data); } else { res.send({ error: data.error }); } }); } else { var envData = { OS: "linux" }; compiler.compilePythonWithInput(envData, code, input, function (data) { if (data.output) { res.send(data); } else { res.send({ error: data.error }); } }); } } } catch (e) { console.log("error:" + e); } }); const port = 7860 app.listen(port, () => { console.log(`Open http://localhost:${port}`) })