mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
Add Redis analyzer array stringification
This was going to be how "message" server data was handled, but that ended up being bad. Regardless, this is probably nice to have.
This commit is contained in:
parent
2b8cb515b9
commit
bbca02fe70
3 changed files with 36 additions and 17 deletions
|
@ -383,21 +383,40 @@ function bulk_string_content(bulk: RESP::BulkString): bytes {
|
||||||
return b"";
|
return b"";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Returns the bytes string value of this, or Null if it cannot.
|
||||||
|
function stringify(data: RESP::Data): optional<bytes> {
|
||||||
|
if (data?.simple_error)
|
||||||
|
return data.simple_error.content;
|
||||||
|
else if (data?.bulk_error)
|
||||||
|
return bulk_string_content(data.bulk_error);
|
||||||
|
else if (data?.simple_string)
|
||||||
|
return data.simple_string.content;
|
||||||
|
else if (data?.bulk_string)
|
||||||
|
return bulk_string_content(data.bulk_string);
|
||||||
|
else if (data?.verbatim_string)
|
||||||
|
return bulk_string_content(data.verbatim_string);
|
||||||
|
else if (data?.boolean)
|
||||||
|
return data.boolean.val ? b"T" : b"F";
|
||||||
|
else if (data?.array) {
|
||||||
|
local res = b"[";
|
||||||
|
local first = True;
|
||||||
|
for (ele in data.array.elements) {
|
||||||
|
if (!first)
|
||||||
|
res += b", ";
|
||||||
|
local ele_stringified = stringify(ele);
|
||||||
|
if (!ele_stringified)
|
||||||
|
return Null;
|
||||||
|
res += *ele_stringified;
|
||||||
|
first = False;
|
||||||
|
}
|
||||||
|
res += b"]";
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Null;
|
||||||
|
}
|
||||||
|
|
||||||
# Gets the server reply in a simpler form
|
# Gets the server reply in a simpler form
|
||||||
public function make_server_reply(data: RESP::ServerData): ReplyData {
|
public function make_server_reply(data: RESP::ServerData): ReplyData {
|
||||||
local res: ReplyData = [$value = Null];
|
return [$value = stringify(data.data)];
|
||||||
if (data.data?.simple_error)
|
|
||||||
res.value = data.data.simple_error.content;
|
|
||||||
else if (data.data?.bulk_error)
|
|
||||||
res.value = bulk_string_content(data.data.bulk_error);
|
|
||||||
else if (data.data?.simple_string)
|
|
||||||
res.value = data.data.simple_string.content;
|
|
||||||
else if (data.data?.bulk_string)
|
|
||||||
res.value = bulk_string_content(data.data.bulk_string);
|
|
||||||
else if (data.data?.verbatim_string)
|
|
||||||
res.value = bulk_string_content(data.data.verbatim_string);
|
|
||||||
else if (data.data?.boolean)
|
|
||||||
res.value = data.data.boolean.val ? b"T" : b"F";
|
|
||||||
|
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,5 +9,5 @@
|
||||||
#types time string addr port addr port string string string bool string
|
#types time string addr port addr port string string string bool string
|
||||||
XXXXXXXXXX.XXXXXX CHhAvVGS1DHFjwGM9 127.0.0.1 56162 127.0.0.1 6379 SUBSCRIBE - - T -
|
XXXXXXXXXX.XXXXXX CHhAvVGS1DHFjwGM9 127.0.0.1 56162 127.0.0.1 6379 SUBSCRIBE - - T -
|
||||||
XXXXXXXXXX.XXXXXX ClEkJM2Vm5giqnMf4h 127.0.0.1 56163 127.0.0.1 6379 PUBLISH - - T -
|
XXXXXXXXXX.XXXXXX ClEkJM2Vm5giqnMf4h 127.0.0.1 56163 127.0.0.1 6379 PUBLISH - - T -
|
||||||
XXXXXXXXXX.XXXXXX CHhAvVGS1DHFjwGM9 127.0.0.1 56162 127.0.0.1 6379 - - - T -
|
XXXXXXXXXX.XXXXXX CHhAvVGS1DHFjwGM9 127.0.0.1 56162 127.0.0.1 6379 - - - T [message, my_channel, hello :)]
|
||||||
#close XXXX-XX-XX-XX-XX-XX
|
#close XXXX-XX-XX-XX-XX-XX
|
||||||
|
|
|
@ -10,5 +10,5 @@
|
||||||
XXXXXXXXXX.XXXXXX CHhAvVGS1DHFjwGM9 127.0.0.1 49992 127.0.0.1 6379 XADD - - T 1729622832637-0
|
XXXXXXXXXX.XXXXXX CHhAvVGS1DHFjwGM9 127.0.0.1 49992 127.0.0.1 6379 XADD - - T 1729622832637-0
|
||||||
XXXXXXXXXX.XXXXXX CHhAvVGS1DHFjwGM9 127.0.0.1 49992 127.0.0.1 6379 XADD - - T 1729622836953-0
|
XXXXXXXXXX.XXXXXX CHhAvVGS1DHFjwGM9 127.0.0.1 49992 127.0.0.1 6379 XADD - - T 1729622836953-0
|
||||||
XXXXXXXXXX.XXXXXX CHhAvVGS1DHFjwGM9 127.0.0.1 49992 127.0.0.1 6379 XADD - - T 1729622840530-0
|
XXXXXXXXXX.XXXXXX CHhAvVGS1DHFjwGM9 127.0.0.1 49992 127.0.0.1 6379 XADD - - T 1729622840530-0
|
||||||
XXXXXXXXXX.XXXXXX CHhAvVGS1DHFjwGM9 127.0.0.1 49992 127.0.0.1 6379 XRANGE - - T -
|
XXXXXXXXXX.XXXXXX CHhAvVGS1DHFjwGM9 127.0.0.1 49992 127.0.0.1 6379 XRANGE - - T [[1729622770972-0, [rider, Castilla, speed, 30.2, position, 1, location_id, 1]], [1729622778221-0, [rider, Norem, speed, 28.8, position, 3, location_id, 1]]]
|
||||||
#close XXXX-XX-XX-XX-XX-XX
|
#close XXXX-XX-XX-XX-XX-XX
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue