]> source.dussan.org Git - rspamd.git/commitdiff
[Feature] Add maps query method
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 1 Jul 2020 11:02:21 +0000 (12:02 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 1 Jul 2020 11:02:21 +0000 (12:02 +0100)
rules/controller/maps.lua

index 42d761172f159a9357e44f2d472ffbff496c1f66..ec2392d5691435adb083dad85e45997cfc020604 100644 (file)
@@ -47,8 +47,23 @@ end
 local function handle_query_map(_, conn, req_params)
   maybe_fill_maps_cache()
   if req_params.value and req_params.value ~= '' then
+    local results = {}
+    for uri,m in pairs(maps_cache) do
+      local value = m:get_key(req_params.value)
 
-    conn:send_ucl({success = false and true})
+      if value then
+        local result = {
+          map = uri,
+          alias = uri:match('/([^/]+)$'),
+          value = value
+        }
+        table.insert(results, result)
+      end
+    end
+    conn:send_ucl{
+      success = (#results > 0),
+      results = results
+    }
   else
     conn:send_error(404, 'missing value')
   end