Spaces:
Sleeping
Sleeping
File size: 3,786 Bytes
a55949b 1e9296b a55949b 2542574 336b464 a55949b 105f6ef e7e6e29 105f6ef a55949b 105f6ef 3a85ef1 105f6ef 3a85ef1 |
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 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
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}`) })
|