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 })); }