]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Fix query for the external map case
authorVsevolod Stakhov <vsevolod@rspamd.com>
Sat, 3 Dec 2022 13:36:00 +0000 (13:36 +0000)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Sat, 3 Dec 2022 13:36:00 +0000 (13:36 +0000)
lualib/lua_maps.lua

index 9f633e145e719a1e32e0899050393204cb5fab5d..c7c5a983d3203e86fd07de2f3d605fa34874cfba 100644 (file)
@@ -126,7 +126,7 @@ local function query_external_map(map_config, upstreams, key, callback, task)
         key = key
       }
     elseif map_config.method == 'query' then
-      url = string.format('%s?%s', url, url_encode_string(key))
+      url = string.format('%s?key=%s', url, url_encode_string(tostring(key)))
     end
   elseif type(key) == 'table' then
     if map_config.method == 'body' then
@@ -169,14 +169,16 @@ local function query_external_map(map_config, upstreams, key, callback, task)
   local function map_callback(err, code, body, _)
     if err then
       callback(false, err, code, task)
-    else
+    elseif code == 200 then
       callback(true, body, 200, task)
+    else
+      callback(false, err, code, task)
     end
   end
 
   local ret = rspamd_http.request{
     task = task,
-    url = map_config.backend,
+    url = url,
     callback = map_callback,
     timeout = map_config.timeout or 1.0,
     keepalive = true,