Browse Source

[Feature] Support setting task message from Lua

 - Issue: #1046
tags/1.4.0
Andrew Lewis 7 years ago
parent
commit
271ce3e599
1 changed files with 29 additions and 0 deletions
  1. 29
    0
      src/lua/lua_task.c

+ 29
- 0
src/lua/lua_task.c View File

end end
*/ */
LUA_FUNCTION_DEF (task, set_pre_result); LUA_FUNCTION_DEF (task, set_pre_result);
/***
* @method task:append_message(message)
* Adds a message to scanning output.
* @param {string} message
@example
local function cb(task)
task:append_message('Example message')
end
*/
LUA_FUNCTION_DEF (task, append_message);
/*** /***
* @method task:get_urls([need_emails]) * @method task:get_urls([need_emails])
* Get all URLs found in a message. * Get all URLs found in a message.
LUA_INTERFACE_DEF (task, get_ev_base), LUA_INTERFACE_DEF (task, get_ev_base),
LUA_INTERFACE_DEF (task, insert_result), LUA_INTERFACE_DEF (task, insert_result),
LUA_INTERFACE_DEF (task, set_pre_result), LUA_INTERFACE_DEF (task, set_pre_result),
LUA_INTERFACE_DEF (task, append_message),
LUA_INTERFACE_DEF (task, has_urls), LUA_INTERFACE_DEF (task, has_urls),
LUA_INTERFACE_DEF (task, get_urls), LUA_INTERFACE_DEF (task, get_urls),
LUA_INTERFACE_DEF (task, get_content), LUA_INTERFACE_DEF (task, get_content),
return 0; return 0;
} }


static gint
lua_task_append_message (lua_State * L)
{
struct rspamd_task *task = lua_check_task (L, 1);
gchar *message;

if (task != NULL) {
message= rspamd_mempool_strdup (task->task_pool,
luaL_checkstring (L, 2));
task->messages = g_list_prepend (task->messages, message);
}
else {
return luaL_error (L, "invalid arguments");
}

return 0;
}

struct lua_tree_cb_data { struct lua_tree_cb_data {
lua_State *L; lua_State *L;
int i; int i;

Loading…
Cancel
Save