From: Vsevolod Stakhov Date: Fri, 15 Oct 2021 10:32:26 +0000 (+0100) Subject: [Minor] Implement task to object conversion method X-Git-Tag: 3.1~42 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f2298a00267d69c4ee03c15fcf800b4e71105192;p=thirdparty%2Frspamd.git [Minor] Implement task to object conversion method --- diff --git a/lualib/lua_mime.lua b/lualib/lua_mime.lua index f84cc4d4e0..a57c2181ea 100644 --- a/lualib/lua_mime.lua +++ b/lualib/lua_mime.lua @@ -581,6 +581,24 @@ exports.message_to_ucl = function(task) result.size = task:get_size() result.digest = task:get_digest() + result.headers = task:get_headers(true) or {} + + local parts = task:get_parts() or {} + result.parts = {} + for _,part in ipairs(parts) do + local l = part:get_length() + if l > 0 then + local p = {} + p.size = l + p.type = string.format('%s/%s', part:get_type()) + p.detected_type = string.format('%s/%s', part:get_detected_type()) + p.filename = part:get_filename() + p.content = part:get_content() + p.headers = part:get_headers(true) or {} + table.insert(result.parts, p) + end + end + return result end