Get Metadata Fields from DpiMessage (String, Int, Long)


function Flow_GetFieldFromDpiMessage (dpiMsg, ruleEngine)

if (IsFinalShortFlow(dpiMsg)) then

require 'LOG'

-- Example for Internal fields.

local protocol = GetString(dpiMsg, "Internal", "applicationpath");

local srcport = GetInt(dpiMsg, "Internal", "srcport");

local messageSize = GetLong(dpiMsg, "Internal", "messagesize");

EZINFO("Src Port: ", srcport);

EZINFO("Message Size: ", messageSize);

local app = GetLatestApplication(dpiMsg);

if (app == 'http') then

local uri = GetString(dpiMsg, "http", "uri_full");

local code = GetInt(dpiMsg, "http", "code");

local contentLen = GetLong(dpiMsg, "http", "content_len");

EZINFO("URI: ", uri);

EZINFO("HTTP CODE: ", code);

EZINFO("HTTP CONTENT LENGTH: ", contentLen);

end

end

end