diff options
Diffstat (limited to 'src/pawsd')
| -rw-r--r-- | src/pawsd/send.lua | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/pawsd/send.lua b/src/pawsd/send.lua new file mode 100644 index 0000000..46ff2b5 --- /dev/null +++ b/src/pawsd/send.lua @@ -0,0 +1,44 @@ +-- +-- ~~~ send a pawsd request +-- + +require("src/utils") + +-- setup pawsd +local PawSD = require("src/pawsd/variables") + +-- setup sockets +local socket = require("socket") +local client = assert(socket.tcp()) + +-- send function +function send (server, data) + + -- build request + local request = string.fromhex( PawSD.Magic.REQUEST .. PawSD.Version .. data) + + -- setup connection + client:connect(server.host, server.port) + + -- send request + client:send(request) + + -- listen for response + local response = {} + + while true do + + local packet, status = client:receive(1) + + if packet then table.insert(response, packet) end + if status == "closed" then break end + + end + + -- return response + return table.concat(response) + +end + +-- return +return send |
