]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Selectors: Add append/prepend transforms
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 16 Jul 2019 19:02:45 +0000 (20:02 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 16 Jul 2019 19:02:45 +0000 (20:02 +0100)
lualib/lua_selectors.lua

index 3bc7b9d752dca7a16af734833f30d44c34e8d4ac..a55d0742b24f9c36236cbd7190067cd6f55ba1c6 100644 (file)
@@ -494,6 +494,32 @@ the second argument is optional hash type (`blake2`, `sha256`, `sha1`, `sha512`,
     ['args_schema'] = {(ts.number + ts.string / tonumber):is_optional(),
                        (ts.number + ts.string / tonumber):is_optional()}
   },
+  -- Prepends a string or a strings list
+  ['prepend'] = {
+    ['types'] = {
+      ['string'] = true
+    },
+    ['map_type'] = 'string',
+    ['process'] = function(inp, _, args)
+      local prepend = table.concat(args, '')
+
+      return prepend .. inp, 'string'
+    end,
+    ['description'] = 'Prepends a string or a strings list',
+  },
+  -- Appends a string or a strings list
+  ['append'] = {
+    ['types'] = {
+      ['string'] = true
+    },
+    ['map_type'] = 'string',
+    ['process'] = function(inp, _, args)
+      local append = table.concat(args, '')
+
+      return inp .. append, 'string'
+    end,
+    ['description'] = 'Appends a string or a strings list',
+  },
   -- Regexp matching
   ['regexp'] = {
     ['types'] = {