This repository has been archived by the owner on Jan 29, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 710
/
Copy pathWebServer_tombailey94.js
80 lines (69 loc) · 2.25 KB
/
WebServer_tombailey94.js
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
var thread;
function newLevel() {
var folder = new java.io.File("/sdcard/games/com.mojang/ModPE/wwwroot");
folder.mkdirs();
var indexExample = new java.io.File("/sdcard/games/com.mojang/ModPE/wwwroot", "index.html");
if (!indexExample.exists()) {
var indexFile = new java.io.BufferedWriter(new java.io.FileWriter(indexExample));
indexFile.write("<html><head><title>A Java Web server example</title><style>body {margin: 0 auto;width: 200px;}</style></head><body><h1>Hello world!</h1></body></html>");
indexFile.close();
}
thread = new java.lang.Thread() {
run: function() {
try {
const server = new java.net.ServerSocket(49999); //can't use port less than 1024 without root
while (true) {
try {
var client = server.accept();
var br = new java.io.BufferedReader(new java.io.InputStreamReader(client.getInputStream()));
var bw = new java.io.BufferedWriter(new java.io.OutputStreamWriter(client.getOutputStream()));
var request = br.readLine();
var requestInfo = request.split(" ");
var filepath = new java.lang.String(folder + requestInfo[1]);
var error = null;
var brFile = null;
try {
if (filepath.endsWith("/")) {
brFile = new java.io.BufferedReader(new java.io.FileReader(filepath + "index.html"));
} else {
if (!filepath.endsWith("html")) {
error = "HTTP/1.1 501 Not Implemented";
} else {
brFile = new java.io.BufferedReader(new java.io.FileReader(filepath));
}
}
} catch (filenotfoundprobably) {
error = "HTTP/1.1 404 Not Found";
clientMessage(filenotfoundprobably.message);
}
if (error == null) {
var line = brFile.readLine();
while (line != null) {
bw.write(line + "\n");
bw.flush();
line = brFile.readLine();
}
} else {
bw.write(error + "\n");
bw.write("Connection: close" + "\n");
bw.flush();
}
bw.close();
br.close();
if (brFile != null) {
brFile.close();
}
} catch (err2) {
clientMessage(err2.message);
}
}
} catch (err){
clientMessage(err.message);
}
}
};
thread.start();
}
function leaveGame() {
thread.stop();
}