One-For-All-Server / index.js
hprasath's picture
Update index.js
d79724a verified
raw
history blame
2.63 kB
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", 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}`) })