summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authordormando <dormando@rydia.net>2022-08-01 11:19:14 -0700
committerdormando <dormando@rydia.net>2022-08-03 11:53:33 -0700
commit2520054b152863babbc01cd5d7bab5d5f7705667 (patch)
tree180bb6b56e3c47a1b8b49bf6ec7c39d9a357b83e /t
parent2389436317fe9d74d390d0adfe4a2679c693375e (diff)
downloadmemcached-2520054b152863babbc01cd5d7bab5d5f7705667.tar.gz
proxy: add r:has_flag(), fix r:token() length
Add mcp.request function for quick checking if a flag exists in a request string. Also updates internal code for checking the length of a token to use the endcap properly, and uses that for the r:token(n) requets as well, which fixes a subtle bug of the token length being too long.
Diffstat (limited to 't')
-rw-r--r--t/startfile.lua14
1 files changed, 14 insertions, 0 deletions
diff --git a/t/startfile.lua b/t/startfile.lua
index c204d49..6abaa75 100644
--- a/t/startfile.lua
+++ b/t/startfile.lua
@@ -159,6 +159,19 @@ function failover_factory(zones, local_zone)
end
end
+function meta_get_factory(zones, local_zone)
+ local near_zone = zones[local_zone]
+ -- in this test function we only fetch from the local zone.
+ return function(r)
+ if r:has_flag("l") == true then
+ print("client asking for last access time")
+ end
+ local res = near_zone(r)
+
+ return res
+ end
+end
+
-- SET's to main zone, issues deletes to far zones.
function setinvalidate_factory(zones, local_zone)
local near_zone = zones[local_zone]
@@ -288,6 +301,7 @@ function mcp_config_routes(main_zones)
-- need better routes designed for the test suite (edit the key
-- prefix or something)
map[mcp.CMD_ADD] = failover_factory(z, my_zone)
+ map[mcp.CMD_MG] = meta_get_factory(z, my_zone)
prefixes[pfx] = command_factory(map, failover)
end