[GitHub] [apisix] Firstsawyou commented on issue #2809: [DISCUSS]: add vars matching rules to public methods

2020-11-20 Thread GitBox


Firstsawyou commented on issue #2809:
URL: https://github.com/apache/apisix/issues/2809#issuecomment-731524773


   > Hi, Where can these matching rules be used?Can you give some examples?
   
   This is a related issue that needs to use these rules:
   https://github.com/apache/apisix/issues/2511 
   https://github.com/apache/apisix/issues/2303
   



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org




[GitHub] [apisix] Firstsawyou commented on issue #2809: [DISCUSS]: add vars matching rules to public methods

2020-11-20 Thread GitBox


Firstsawyou commented on issue #2809:
URL: https://github.com/apache/apisix/issues/2809#issuecomment-731524200


   > > But these rules are in the apisix/deps/share/lua/5.1/resty/radixtree.lua 
file, not in the public method.
   > 
   > @Firstsawyou I am not get your point.
   
   What I mean is that we can't reuse the matching rules in radixtree.lua, 
because his definition is local.
   The matching rule definition in radixtree.lua:
   
   ```lua
   local compare_funcs = {
   ["=="] = function (l_v, r_v)
   if type(r_v) == "number" then
   l_v = tonumber(l_v)
   if not l_v then
   return false
   end
   end
   return l_v == r_v
   end,
   ["~="] = function (l_v, r_v)
   return l_v ~= r_v
   end,
   [">"] = function (l_v, r_v)
   l_v = tonumber(l_v)
   r_v = tonumber(r_v)
   if not l_v or not r_v then
   return false
   end
   return l_v > r_v
   end,
   ["<"] = function (l_v, r_v)
   l_v = tonumber(l_v)
   r_v = tonumber(r_v)
   if not l_v or not r_v then
   return false
   end
   return l_v < r_v
   end,
   ["~~"] = function (l_v, r_v)
   local from = re_find(l_v, r_v, "jo")
   if from then
   return true
   end
   return false
   end,
   ["IN"] = in_array,
   ["in"] = in_array,
   }
   ```



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org