Exemple #1
0
        public override void Respond(IHttpContext context)
        {
            var indexStr = context.ReadString();
            VariableInitializer mapDefinition = indexStr.Trim().StartsWith("from")
                ? QueryParsingUtils.GetVariableDeclarationForLinqQuery(indexStr, true)
                : QueryParsingUtils.GetVariableDeclarationForLinqMethods(indexStr, true);

            var captureSelectNewFieldNamesVisitor = new CaptureSelectNewFieldNamesVisitor();

            mapDefinition.AcceptVisitor(captureSelectNewFieldNamesVisitor, null);

            context.WriteJson(new { captureSelectNewFieldNamesVisitor.FieldNames });
        }
        public async Task <HttpResponseMessage> IndexFields()
        {
            var indexStr = await ReadStringAsync();

            var mapDefinition = indexStr.Trim().StartsWith("from")
                                ? QueryParsingUtils.GetVariableDeclarationForLinqQuery(indexStr, true)
                                : QueryParsingUtils.GetVariableDeclarationForLinqMethods(indexStr, true);

            var captureSelectNewFieldNamesVisitor = new CaptureSelectNewFieldNamesVisitor();

            mapDefinition.AcceptVisitor(captureSelectNewFieldNamesVisitor, null);

            return(GetMessageWithObject(new { captureSelectNewFieldNamesVisitor.FieldNames }));
        }
        public async Task <HttpResponseMessage> IndexFields()
        {
            var indexStr = await ReadStringAsync().ConfigureAwait(false);

            bool querySyntax   = indexStr.Trim().StartsWith("from");
            var  mapDefinition = querySyntax
                ? QueryParsingUtils.GetVariableDeclarationForLinqQuery(indexStr, true)
                : QueryParsingUtils.GetVariableDeclarationForLinqMethods(indexStr, true);

            var captureSelectNewFieldNamesVisitor = new CaptureSelectNewFieldNamesVisitor(querySyntax == false, new HashSet <string>(), new Dictionary <string, Expression>());

            mapDefinition.AcceptVisitor(captureSelectNewFieldNamesVisitor, null);

            return(GetMessageWithObject(new { FieldNames = captureSelectNewFieldNamesVisitor.FieldNames }));
        }