Spaces:
Sleeping
Sleeping
File size: 2,445 Bytes
a55949b 314a3e4 a55949b 314a3e4 a55949b 336b464 a55949b 84c00ca 314a3e4 84c00ca e7e6e29 84c00ca 314a3e4 84c00ca 314a3e4 e7e6e29 314a3e4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
const express = require("express");
const app = express();
const bodyParser = 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 { code, input } = req.body; // Assuming code and input are sent as POST parameters
// // Write the Java code to Main.java file
// fs.writeFile("/code/temp/Main.java", code, (err) => {
// if (err) {
// console.error(err);
// res.status(500).send("Error writing Java file");
// return;
// }
// // Compile and run the Java code with input
// const javaProcess = exec(
// "javac -d /code/temp /code/temp/Main.java && java -cp /code/temp Main",
// (error, stdout, stderr) => {
// if (error) {
// console.error(error);
// res.send({error:stderr});
// return;
// }
// console.log(stdout);
// console.error(stderr);
// res.send({output:stdout});
// }
// );
// // Pass input to the Java process
// if (input) {
// javaProcess.stdin.write(input);
// javaProcess.stdin.end();
// }
// });
// });
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 == "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}`);
});
|