private async Task IndexEntries(DocumentsOperationContext context, OperationCancelToken token, RequestTimeTracker tracker, HttpMethod method) { var indexQuery = await GetIndexQuery(context, method, tracker); var existingResultEtag = GetLongFromHeaders("If-None-Match"); var result = await Database.QueryRunner.ExecuteIndexEntriesQuery(indexQuery, context, existingResultEtag, token); if (result.NotModified) { HttpContext.Response.StatusCode = (int)HttpStatusCode.NotModified; return; } HttpContext.Response.Headers[Constants.Headers.Etag] = CharExtensions.ToInvariantString(result.ResultEtag); using (var writer = new BlittableJsonTextWriter(context, ResponseBodyStream())) { writer.WriteIndexEntriesQueryResult(context, result); } }
private void IndexEntries(DocumentsOperationContext context, string indexName, OperationCancelToken token, HttpMethod method) { var indexQuery = GetIndexQuery(context, method); var existingResultEtag = GetLongFromHeaders("If-None-Match"); var queryRunner = new QueryRunner(Database, context); var result = queryRunner.ExecuteIndexEntriesQuery(indexName, indexQuery, existingResultEtag, token); if (result.NotModified) { HttpContext.Response.StatusCode = 304; return; } HttpContext.Response.Headers[Constants.MetadataEtagField] = result.ResultEtag.ToInvariantString(); using (var writer = new BlittableJsonTextWriter(context, ResponseBodyStream())) { writer.WriteIndexEntriesQueryResult(context, result); } }