public static FanoutSearchDescriptor Evaluate(string expr) { try { var fs_invocation_expr = GetFanoutSearchDescriptorExpression(expr); //if we could use LIKQ to match such patterns... var fs_callchain = GetFanoutSearchDescriptorCallChain(fs_invocation_expr); var fs_desc = ConstructFanoutSearchDescriptor(fs_callchain); var checker = new TraverseActionSecurityChecker(); fs_desc.m_traverseActions.ForEach(_ => checker.Visit(_)); return(fs_desc); } catch (LambdaDSLSyntaxErrorException ex) { throw new FanoutSearchQueryException(ex.Message); } }
private void QueryExpressionSecurityCheck() { TraverseActionSecurityChecker checker = new TraverseActionSecurityChecker(); m_traverseActions.ForEach(_ => checker.Visit(_)); }