aboutsummaryrefslogtreecommitdiff
path: root/src/actions.lua
diff options
context:
space:
mode:
Diffstat (limited to 'src/actions.lua')
-rw-r--r--src/actions.lua25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/actions.lua b/src/actions.lua
index 8f9bf29..007d978 100644
--- a/src/actions.lua
+++ b/src/actions.lua
@@ -11,6 +11,8 @@ local help = require("src/help")
local Servers = require("src/pawsd/servers")
local pawsd = {}
+pawsd.response = require("src/pawsd/metadata")
+pawsd.service = require("src/pawsd/service")
local PawSD = require("src/pawsd/variables")
local send = require("src/pawsd/send")
@@ -73,8 +75,27 @@ function fetchservice ()
local request = PawSD.Verbs.FETCH_SERVICE .. server.keyalg .. "0020" .. server.key .. arg[3]
local response = send(server, request)
- -- log response
- print(response)
+ -- check response
+ local valid = pawsd.response.validate(response)
+
+ if not valid then
+
+ print("\nE> Error: invalid request.\n")
+ return
+
+ end
+
+ -- todo: validate signature
+
+ -- get records
+ local records = pawsd.service.records.all(response)
+
+ -- log records
+ for recordindex = 1, #records, 1 do
+ for recordtagindex = 1, #records[recordindex], 1 do
+ print(table.dump(records[recordindex][recordtagindex]))
+ end
+ end
end