basic_robot/scripts/http/webcommands/webcommands.lua

31 lines
1.1 KiB
Lua

-- webcommands : access url like: 192.168.0.10/hello_world
--[[ instructions:
1.download nodejs server from
https://nodejs.org/dist/v10.14.2/node-v10.14.2-win-x86.zip
2. run nodejs server using run.bat
:loop
node --inspect myprogs/minetest_webcommands.js
goto loop
3. run robot and type 'http://192.168.0.10:80/hello this is a test' into browser
(you need to write your router address here, i.e. ip accessible from internet OR lan address)
--]]
if not fetch then
fetch = _G.basic_robot.http_api.fetch;
state = 0 -- ready to fetch new command
-- WARNING: this is run outside pcall and can crash server if errors!
result = function(res) -- res.data is string containing result
state = 0
if not res.succeeded then self.label("#ERROR: data couldn't be downloaded :\n" .. minetest.serialize(res) ) return end
if res.data == "" then return end
local req = res.data; req = string.gsub(req,"%%20","S")
if res.data then self.label(os.clock() .. ' received cmd : ' .. res.data) end
end
end
if state == 0 then
fetch({url = "http://192.168.0.10/MT", timeout = 30}, result)
state = 1
end