bzp2010 commented on code in PR #12465:
URL: https://github.com/apache/apisix/pull/12465#discussion_r2252928233


##########
apisix/plugins/workflow.lua:
##########
@@ -143,12 +154,14 @@ end
 
 
 function _M.access(conf, ctx)
-    for _, rule in ipairs(conf.rules) do
+    ctx._workflow_cache = ctx._workflow_cache or {}
+    for idx, rule in ipairs(conf.rules) do
         local match_result = true
         if rule.case then
-            local expr, _ = expr.new(rule.case)
+            local expr = rule.__expr

Review Comment:
   Need a check to assert that `__expr` must exist.



##########
apisix/plugins/workflow.lua:
##########
@@ -116,10 +120,17 @@ function _M.check_schema(conf)
 
     for idx, rule in ipairs(conf.rules) do
          if rule.case then
-            local ok, err = expr.new(rule.case)
+            local expr, err = expr.new(rule.case)
             if not ok then
                 return false, "failed to validate the 'case' expression: " .. 
err
             end
+            local mt = getmetatable(rule)
+            if not mt then
+                mt = {}
+                mt.__index = mt

Review Comment:
   ```suggestion
                   mt = {
                       __index = mt
                   }
   ```
   



##########
apisix/plugins/workflow.lua:
##########
@@ -157,5 +170,18 @@ function _M.access(conf, ctx)
     end
 end
 
+function _M.log(conf, ctx)
+    for idx, rule in ipairs(conf.rules) do
+        local match_result = ctx._workflow_cache[idx]
+        if match_result then
+            -- only one action is currently supported
+            local action = rule.actions[1]
+            local log_handler = support_action[action[1]].log_handler
+            if log_handler then

Review Comment:
   This if seems to be useless? We can directly return nil to the plugin 
framework?



-- 
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.

To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org

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

Reply via email to