mirror of
https://github.com/rspamd/rspamd.git
synced 2024-09-13 23:56:50 +02:00
[Minor] Allow to filter urls
This commit is contained in:
parent
d003c95fcb
commit
e39900d3ee
@ -476,14 +476,21 @@ end
|
||||
exports.override_defaults = override_defaults
|
||||
|
||||
--[[[
|
||||
-- @function lua_util.extract_specific_urls(task, limit)
|
||||
-- @function lua_util.extract_specific_urls(task, limit, [need_emails[, filter[, prefix])
|
||||
-- Apply heuristic in extracting of urls from task, this function
|
||||
-- tries its best to extract specific number of urls from a task based on
|
||||
-- their characteristics
|
||||
--]]
|
||||
exports.extract_specific_urls = function(task, lim, need_emails)
|
||||
exports.extract_specific_urls = function(task, lim, need_emails, filter, prefix)
|
||||
local fun = require "fun"
|
||||
local cache_key = string.format('sp_urls_%d%s', lim, need_emails)
|
||||
local cache_key
|
||||
|
||||
if prefix then
|
||||
cache_key = prefix
|
||||
else
|
||||
cache_key = string.format('sp_urls_%d%s', lim, need_emails)
|
||||
end
|
||||
|
||||
|
||||
local cached = task:cache_get(cache_key)
|
||||
|
||||
@ -493,9 +500,10 @@ exports.extract_specific_urls = function(task, lim, need_emails)
|
||||
|
||||
local urls = task:get_urls(need_emails)
|
||||
|
||||
|
||||
if not urls then return {} end
|
||||
|
||||
if filter then urls = fun.totable(fun.filter(filter, urls)) end
|
||||
|
||||
if #urls <= lim then
|
||||
task:cache_set(cache_key, urls)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user