private void WriteRevisionsBlittable(DocumentsOperationContext context, IEnumerable <Document> documentsToWrite, out long numberOfResults) { numberOfResults = 0; HttpContext.Response.Headers["Content-Type"] = "binary/blittable-json"; using (var streamBuffer = new UnmanagedStreamBuffer(context, ResponseBodyStream())) using (var writer = new ManualBlittableJsonDocumentBuilder <UnmanagedStreamBuffer>(context, null, new BlittableWriter <UnmanagedStreamBuffer>(context, streamBuffer))) { writer.StartWriteObjectDocument(); writer.StartWriteObject(); writer.WritePropertyName(nameof(GetDocumentsResult.Results)); writer.StartWriteArray(); foreach (var document in documentsToWrite) { numberOfResults++; writer.WriteEmbeddedBlittableDocument(document.Data); } writer.WriteArrayEnd(); writer.WriteObjectEnd(); writer.FinalizeDocument(); } }
private void WriteDocumentsBlittable(DocumentsOperationContext context, IEnumerable <Document> documentsToWrite, List <Document> includes) { HttpContext.Response.Headers["Content-Type"] = "binary/blittable-json"; using (var streamBuffer = new UnmanagedStreamBuffer(context, ResponseBodyStream())) using (var writer = new ManualBlittalbeJsonDocumentBuilder <UnmanagedStreamBuffer>(context, null, new BlittableWriter <UnmanagedStreamBuffer>(context, streamBuffer))) { writer.StartWriteObjectDocument(); writer.StartWriteObject(); writer.WritePropertyName("Results"); writer.StartWriteArray(); foreach (var document in documentsToWrite) { writer.WriteEmbeddedBlittableDocument(document.Data); } writer.WriteArrayEnd(); writer.WritePropertyName("Includes"); writer.StartWriteArray(); foreach (var include in includes) { writer.WriteEmbeddedBlittableDocument(include.Data); } writer.WriteArrayEnd(); writer.WriteObjectEnd(); writer.FinalizeDocument(); } }