diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2018-02-14 14:44:54 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2018-02-14 14:45:25 +0000 |
commit | c11f4f3b96eef519b64b9a98daf93ade96f50bf4 (patch) | |
tree | 628c44d6e700d3fe1f5c5645b15f09e8fe4b7e6d /src/plugins | |
parent | dacdc284e792823733fc8ee02739b983640130f9 (diff) | |
download | rspamd-c11f4f3b96eef519b64b9a98daf93ade96f50bf4.tar.gz rspamd-c11f4f3b96eef519b64b9a98daf93ade96f50bf4.zip |
[Feature] Improve Lua/C interaction in history_redis
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/lua/history_redis.lua | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/plugins/lua/history_redis.lua b/src/plugins/lua/history_redis.lua index abeadc801..06f7ec90c 100644 --- a/src/plugins/lua/history_redis.lua +++ b/src/plugins/lua/history_redis.lua @@ -29,6 +29,7 @@ local settings = { local rspamd_logger = require "rspamd_logger" local rspamd_util = require "rspamd_util" local lua_util = require "lua_util" +local lua_redis = require "lua_redis" local fun = require "fun" local ucl = require("ucl") local E = {} @@ -116,7 +117,7 @@ local function history_save(task) prefix = prefix .. '_zst' end - local ret, conn, _ = rspamd_redis_make_request(task, + local ret, conn, _ = lua_redis.rspamd_redis_make_request(task, redis_params, -- connect params nil, -- hash key true, -- is write @@ -148,7 +149,7 @@ local function handle_history_request(task, conn, from, to, reset) conn:send_string('{"success":true}') end end - rspamd_redis_make_request(task, + lua_redis.rspamd_redis_make_request(task, redis_params, -- connect params nil, -- hash key true, -- is write @@ -167,7 +168,7 @@ local function handle_history_request(task, conn, from, to, reset) fun.map(function(e) local _,dec = rspamd_util.zstd_decompress(e) if dec then - return tostring(dec) + return dec end return nil end, data))) @@ -183,7 +184,7 @@ local function handle_history_request(task, conn, from, to, reset) end, fun.map(function(elt) local parser = ucl.parser() - local res,_ = parser:parse_string(elt) + local res,_ = parser:parse_text(elt) if res then return true, parser:get_object() @@ -204,13 +205,14 @@ local function handle_history_request(task, conn, from, to, reset) conn:send_error(504, '{"error": "' .. err .. '"}') end end - rspamd_redis_make_request(task, + lua_redis.rspamd_redis_make_request(task, redis_params, -- connect params nil, -- hash key false, -- is write redis_lrange_cb, --callback 'LRANGE', -- command - {prefix, string.format('%d', from), string.format('%d', to)} -- arguments + {prefix, string.format('%d', from), string.format('%d', to)}, -- arguments + {opaque_data = true} ) end end |