]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Metadata exporter: make use of select function optional
authorAndrew Lewis <nerf@judo.za.org>
Thu, 10 Nov 2016 07:27:08 +0000 (09:27 +0200)
committerAndrew Lewis <nerf@judo.za.org>
Thu, 10 Nov 2016 07:50:22 +0000 (09:50 +0200)
 - Sometimes one might want to fold this functionality into format()

src/plugins/lua/metadata_exporter.lua

index 462748ba221458ab20fbca242d446049f74fde6d..eb463a2cad4ab5246aeec89909565f2a6e6f5e89 100644 (file)
@@ -20,9 +20,6 @@ limitations under the License.
 local rspamd_logger = require "rspamd_logger"
 
 local settings = {
-  select = function(task)
-    return true
-  end,
   format = function(task)
     return task:get_content()
   end,
@@ -58,15 +55,22 @@ local function metadata_exporter(task)
       upstream:ok()
     end
   end
-  if not settings.select(task) then return end
-  rspamd_logger.debugx(task, 'Message selected for processing')
+  if settings.select then
+    if not settings.select(task) then return end
+    rspamd_logger.debugx(task, 'Message selected for processing')
+  end
+  local data = settings.format(task)
+  if not data then
+    rspamd_logger.debugx(task, 'Format returned non-truthy value: %1', data)
+    return
+  end
   ret,conn,upstream = rspamd_redis_make_request(task,
     redis_params, -- connect params
     nil, -- hash key
     true, -- is write
     redis_set_cb, --callback
     'PUBLISH', -- command
-    {channel, settings.format(task)} -- arguments
+    {channel, data} -- arguments
   )
 end