Initial Commit
This commit is contained in:
64
core.lua
Normal file
64
core.lua
Normal file
@@ -0,0 +1,64 @@
|
||||
-- Websocker: Used for connection between the controle webserver and Units(computers)
|
||||
local ws
|
||||
|
||||
function Core:connect()
|
||||
ws, err = assert(http.websocket("ws://localhost:8080"));
|
||||
|
||||
if not ws then
|
||||
term.setTextColor(colors.red);
|
||||
print(err);
|
||||
term.setTextColor(colors.white);
|
||||
end
|
||||
end
|
||||
|
||||
function Core:send(package)
|
||||
if not package then
|
||||
return false, "Missing package";
|
||||
end
|
||||
|
||||
if not ws then
|
||||
return false, "Websocket not initiated";
|
||||
end
|
||||
|
||||
ws.send(textutils.serialiseJSON(package));
|
||||
end
|
||||
|
||||
function Core:read()
|
||||
if not ws then
|
||||
return false, "Websocket not initiated";
|
||||
end
|
||||
|
||||
return true, textutils.unserialiseJSON(ws.read())
|
||||
end
|
||||
|
||||
function Core:download(file)
|
||||
if not ws then
|
||||
return false, "Websocket not initiated";
|
||||
end
|
||||
|
||||
self:send({type = "REQUEST_FILE_INFO", file = file});
|
||||
|
||||
local success, data = self:read();
|
||||
|
||||
if not success then
|
||||
return false, "Failed to read: "+data;
|
||||
end
|
||||
|
||||
if not data.type then
|
||||
return false, "Invalid package: "+textutils.serialiseJSON(data);
|
||||
end
|
||||
|
||||
if not (data.type == "FILE_INFO") then
|
||||
return false, "Invalid package type: "+textutils.serialiseJSON(data);
|
||||
end
|
||||
|
||||
if not data.exists then
|
||||
return false, "File is missing from server"
|
||||
end
|
||||
|
||||
self:send({type = "REQUEST_FILE_DATA", file = file})
|
||||
|
||||
local success, data = self:read();
|
||||
|
||||
|
||||
end
|
||||
3
excavate.lua
Normal file
3
excavate.lua
Normal file
@@ -0,0 +1,3 @@
|
||||
require("core")
|
||||
|
||||
Core.connect()
|
||||
Reference in New Issue
Block a user