private void Suggest(DocumentsOperationContext context, OperationCancelToken token, HttpMethod method) { var existingResultEtag = GetLongFromHeaders("If-None-Match"); var query = GetSuggestionQuery(context, method); var runner = new QueryRunner(Database, context); var result = runner.ExecuteSuggestionQuery(query, 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.WriteSuggestionQueryResult(context, result); } AddPagingPerformanceHint(PagingOperationType.Queries, $"{nameof(Suggest)} ({query.IndexName})", HttpContext, result.Suggestions.Length, query.PageSize, TimeSpan.FromMilliseconds(result.DurationInMs)); }