Spaces:
Sleeping
Sleeping
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-java', (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}`) }) | |