Spaces:
Sleeping
Sleeping
File size: 3,485 Bytes
a55949b 2542574 336b464 a55949b e7e6e29 a55949b 3a85ef1 3e8a79b 3a85ef1 3e8a79b 3a85ef1 a55949b 2b449de 3e8a79b 3a85ef1 2b449de 3a85ef1 2b449de 3e8a79b 3a85ef1 2b449de 3a85ef1 2b449de 3a85ef1 3e8a79b 3a85ef1 3e8a79b 3a85ef1 a55949b 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 |
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}`) })
|