aboutsummaryrefslogtreecommitdiff
path: root/src/pawsd
diff options
context:
space:
mode:
Diffstat (limited to 'src/pawsd')
-rw-r--r--src/pawsd/metadata.lua21
-rw-r--r--src/pawsd/record.lua6
-rw-r--r--src/pawsd/send.lua2
-rw-r--r--src/pawsd/service.lua7
-rw-r--r--src/pawsd/tag.lua14
5 files changed, 26 insertions, 24 deletions
diff --git a/src/pawsd/metadata.lua b/src/pawsd/metadata.lua
index a8dd98d..4a8532e 100644
--- a/src/pawsd/metadata.lua
+++ b/src/pawsd/metadata.lua
@@ -4,6 +4,9 @@
require("src/utils")
+-- load pawsd
+local PawSD = require("src/pawsd/variables")
+
-- get response type
function getType (response)
@@ -18,8 +21,24 @@ function getStatus (response)
end
+-- validate response status
+function validateStatus (response)
+
+ -- check type
+ local type = getType(response)
+ if not (type == PawSD.Magic.RESPONSE) then return false end
+
+ -- check status
+ local status = getStatus(response)
+ if not (status == PawSD.Responses.OK) then return false end
+
+ return true
+
+end
+
-- return
return {
type = getType,
- status = getStatus
+ status = getStatus,
+ validate = validateStatus
}
diff --git a/src/pawsd/record.lua b/src/pawsd/record.lua
index ae6d145..869796f 100644
--- a/src/pawsd/record.lua
+++ b/src/pawsd/record.lua
@@ -20,18 +20,14 @@ function getrecord(response, offset)
local tagcount = getrecordtagnumber(response, offset)
- print("R>------ Number Of Tags: " .. tagcount)
-
local tagoffset = offset + 2
local tags = {}
for tagindex = 1, tagcount, 1 do
- print("\nT>------ Getting Tag " .. tagindex .. "...")
-
local tag = pawsd.tag.get(response, tagoffset)
- tags[tagindex] = tag.value
+ tags[tagindex] = tag.tag
tagoffset = tag.endoffset
end
diff --git a/src/pawsd/send.lua b/src/pawsd/send.lua
index 46ff2b5..156664d 100644
--- a/src/pawsd/send.lua
+++ b/src/pawsd/send.lua
@@ -36,7 +36,7 @@ function send (server, data)
end
-- return response
- return table.concat(response)
+ return response
end
diff --git a/src/pawsd/service.lua b/src/pawsd/service.lua
index 8cbce77..c176faf 100644
--- a/src/pawsd/service.lua
+++ b/src/pawsd/service.lua
@@ -37,19 +37,12 @@ end
-- get all records
function getallrecords (response)
- print("\nR>--- Getting Records...")
-
local records = {}
local recordoffset = 23 + pawsd.signature.length(response)
local recordnumber = getrecordnumber(response)
- print("\nR>--- Record Offset: " .. recordoffset)
- print("R>--- Number Of Records: " .. recordnumber)
-
for recordindex = 1, recordnumber , 1 do
- print("\nR>--- Getting Record " .. recordindex .. "...")
-
local record = pawsd.record.get(response, recordoffset)
records[recordindex] = record.tags
diff --git a/src/pawsd/tag.lua b/src/pawsd/tag.lua
index f4031f4..b5997b0 100644
--- a/src/pawsd/tag.lua
+++ b/src/pawsd/tag.lua
@@ -22,28 +22,22 @@ function gettagvalue (response, offset)
local valuetypes = gettagtypes(response, offset)
- print("T>--------- Tag (High): " .. valuetypes.high)
- print("T>--------- Tag (Low): " .. valuetypes.low)
-
local valuelength = tonumber(table.extracthex(response, offset + 16, offset + 19), 16)
local valueoffset = offset + 20
local value = ""
- print("\nT>--------- Length: " .. valuelength)
- print("T>--------- Value Offset: " .. valueoffset)
-
if valuelength > 0 then
value = table.extracthex(response, valueoffset, valueoffset + valuelength)
valueoffset = valueoffset + valuelength
- print("\nT>--------- Value (Hex): " .. value)
- print("T>--------- Value (Binary): " .. string.fromhex(value))
-
end
return {
- value = value,
+ tag = {
+ types = valuetypes,
+ value = value
+ },
endoffset = valueoffset
}