コード例 #1
0
ファイル: LambdaDSL.cs プロジェクト: shekhar249/GraphEngine
        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);
            }
        }
コード例 #2
0
        private void QueryExpressionSecurityCheck()
        {
            TraverseActionSecurityChecker checker = new TraverseActionSecurityChecker();

            m_traverseActions.ForEach(_ => checker.Visit(_));
        }
コード例 #3
0
 public static void RegisterQueryWhilelistType(Type t)
 {
     TraverseActionSecurityChecker.RegisterQueryWhitelistType(t);
 }