From dc3a44fce27226797cb64543a81e8448de773a7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20Lebrun?= Date: Thu, 13 Jan 2022 14:59:28 +0100 Subject: [PATCH] fix: #238, avoid calling has_eval in enforcing loop --- casbin/core_enforcer.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/casbin/core_enforcer.py b/casbin/core_enforcer.py index 7c16f9df..dc8086f7 100644 --- a/casbin/core_enforcer.py +++ b/casbin/core_enforcer.py @@ -366,8 +366,8 @@ def enforce_ex(self, *rvals): raise RuntimeError("invalid request size") exp_string = self.model["m"][mtype].value - has_eval = util.has_eval(exp_string) - if not has_eval: + exp_has_eval = util.has_eval(exp_string) + if not exp_has_eval: expression = self._get_expression(exp_string, functions) policy_effects = set() @@ -385,7 +385,7 @@ def enforce_ex(self, *rvals): p_parameters = dict(zip(p_tokens, pvals)) parameters = dict(r_parameters, **p_parameters) - if util.has_eval(exp_string): + if exp_has_eval: rule_names = util.get_eval_value(exp_string) rules = [ util.escape_assertion(p_parameters[rule_name]) @@ -427,7 +427,7 @@ def enforce_ex(self, *rvals): break else: - if has_eval: + if exp_has_eval: raise RuntimeError( "please make sure rule exists in policy when using eval() in matcher" )