const express = require("express"); const app = express(); const bodyP = require("body-parser"); const cors = require("cors"); const fs = require('fs'); const { exec } = require('child_process'); 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', (req, res) => { const javaCode = req.body.code; // Assuming code is sent as a POST parameter // Write the Java code to Main.java file fs.writeFile('/code/temp/Main.java', javaCode, (err) => { if (err) { console.error(err); res.status(500).send('Error writing Java file'); return; } // Compile and run the Java code exec('javac -d /code/temp /code/temp/Main.java && java -cp /code/temp Main', (error, stdout, stderr) => { if (error) { console.error(error); res.status(500).send('Error compiling or executing Java code'); return; } console.log(stdout); console.error(stderr); res.send(stdout); }); }); }); // 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}`) })