public Task Debug() { var name = GetQueryStringValueAndAssertIfSingleAndNotEmpty("name"); var index = Database.IndexStore.GetIndex(name); if (index == null) { HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; return(Task.CompletedTask); } var operation = GetStringQueryString("op"); using (ContextPool.AllocateOperationContext(out JsonOperationContext context)) using (var writer = new BlittableJsonTextWriter(context, ResponseBodyStream())) { if (string.Equals(operation, "map-reduce-tree", StringComparison.OrdinalIgnoreCase)) { if (index.Type.IsMapReduce() == false) { HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest; context.Write(writer, new DynamicJsonValue { ["Error"] = $"{index.Name} is not map-reduce index" }); return(Task.CompletedTask); } var docIds = GetStringValuesQueryString("docId", required: false); using (index.GetReduceTree(docIds.ToArray(), out IEnumerable <ReduceTree> trees)) { writer.WriteReduceTrees(trees); } return(Task.CompletedTask); } if (string.Equals(operation, "source-doc-ids", StringComparison.OrdinalIgnoreCase)) { using (index.GetIdentifiersOfMappedDocuments(GetStringQueryString("startsWith", required: false), GetStart(), GetPageSize(), out IEnumerable <string> ids)) { writer.WriteArrayOfResultsAndCount(ids); } return(Task.CompletedTask); } if (string.Equals(operation, "entries-fields", StringComparison.OrdinalIgnoreCase)) { var fields = index.GetEntriesFields(); writer.WriteStartObject(); writer.WriteArray("Results", fields); writer.WriteEndObject(); return(Task.CompletedTask); } throw new NotSupportedException($"{operation} is not supported"); } }