diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2016-03-11 17:20:17 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2016-03-11 17:20:17 +0000 |
commit | d24160c5e5c92cbe8c6ca31ff1ce7d79058de23d (patch) | |
tree | 91eabb1938cad9cbc120590f29cabf3397b69352 /src | |
parent | fa687ca63177a2531078d0efa158ccafe5599573 (diff) | |
download | rspamd-d24160c5e5c92cbe8c6ca31ff1ce7d79058de23d.tar.gz rspamd-d24160c5e5c92cbe8c6ca31ff1ce7d79058de23d.zip |
[Feature] Add task:get_dns_req method
Diffstat (limited to 'src')
-rw-r--r-- | src/lua/lua_task.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/lua/lua_task.c b/src/lua/lua_task.c index b177f168c..e5214a321 100644 --- a/src/lua/lua_task.c +++ b/src/lua/lua_task.c @@ -276,6 +276,12 @@ LUA_FUNCTION_DEF (task, get_resolver); * Increment number of DNS requests for the task. Is used just for logging purposes. */ LUA_FUNCTION_DEF (task, inc_dns_req); +/*** + * @method task:get_dns_req() + * Get number of dns requests being sent in the task + * @return {number} number of DNS requests + */ +LUA_FUNCTION_DEF (task, get_dns_req); /*** * @method task:has_recipients([type]) @@ -570,6 +576,7 @@ static const struct luaL_reg tasklib_m[] = { LUA_INTERFACE_DEF (task, get_queue_id), LUA_INTERFACE_DEF (task, get_resolver), LUA_INTERFACE_DEF (task, inc_dns_req), + LUA_INTERFACE_DEF (task, get_dns_req), LUA_INTERFACE_DEF (task, has_recipients), LUA_INTERFACE_DEF (task, get_recipients), LUA_INTERFACE_DEF (task, has_from), @@ -1391,6 +1398,21 @@ lua_task_inc_dns_req (lua_State *L) return 0; } +static gint +lua_task_get_dns_req (lua_State *L) +{ + struct rspamd_task *task = lua_check_task (L, 1); + + if (task != NULL) { + lua_pushnumber (L, task->dns_requests); + } + else { + return luaL_error (L, "invalid arguments"); + } + + return 1; +} + /* * Convert element at the specified position to the type * for get_from/get_recipients |