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}`) })