aboutsummaryrefslogtreecommitdiff
path: root/src/pawsd
diff options
context:
space:
mode:
authorAutumn <git@autumnfo.rest>2026-05-17 16:02:05 +0100
committerAutumn <git@autumnfo.rest>2026-05-17 16:02:05 +0100
commit2bad2793f33c3c0879d3a8a36de327a6626c32ed (patch)
tree828532d9249473c7b3ffc017eb3c222d50bb6062 /src/pawsd
parent0d148f65e0eead4a2ea164d22ff844db428ebdb6 (diff)
[main] added temporary verbs to the helper function
Diffstat (limited to 'src/pawsd')
-rw-r--r--src/pawsd/send.lua44
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