public override async Task <ResponseMessage> ReadNextAsync(ITrace trace, CancellationToken cancellationToken = default) { ResponseMessage responseMessage = await this.clientContext.ProcessResourceOperationStreamAsync( cosmosContainerCore : this.container, resourceUri : this.container.LinkUri, resourceType : ResourceType.Document, operationType : OperationType.ReadFeed, requestOptions : this.changeFeedOptions, requestEnricher : (requestMessage) => { // Set time headers if any ChangeFeedStartFromRequestOptionPopulator visitor = new ChangeFeedStartFromRequestOptionPopulator(requestMessage); this.changeFeedStartFrom.Accept(visitor); if (this.changeFeedOptions.PageSizeHint.HasValue) { requestMessage.Headers.Add( HttpConstants.HttpHeaders.PageSize, this.changeFeedOptions.PageSizeHint.Value.ToString(CultureInfo.InvariantCulture)); } requestMessage.Headers.Add( HttpConstants.HttpHeaders.A_IM, HttpConstants.A_IMHeaderValues.IncrementalFeed); }, feedRange : this.changeFeedStartFrom.FeedRange, streamPayload : default,
/// <summary> /// Get the next set of results from the cosmos service /// </summary> /// <param name="cancellationToken">(Optional) <see cref="CancellationToken"/> representing request cancellation.</param> /// <returns>A change feed response from cosmos service</returns> public override async Task <ResponseMessage> ReadNextAsync(CancellationToken cancellationToken = default(CancellationToken)) { ResponseMessage responseMessage = await this.clientContext.ProcessResourceOperationStreamAsync( cosmosContainerCore : this.container, resourceUri : this.container.LinkUri, resourceType : Documents.ResourceType.Document, operationType : Documents.OperationType.ReadFeed, requestOptions : this.changeFeedOptions, requestEnricher : (requestMessage) => { ChangeFeedStartFromRequestOptionPopulator visitor = new ChangeFeedStartFromRequestOptionPopulator(requestMessage); this.changeFeedStartFrom.Accept(visitor); }, partitionKey : default,
public override async Task <ResponseMessage> ReadNextAsync(ITrace trace, CancellationToken cancellationToken = default) { ResponseMessage responseMessage = await this.clientContext.ProcessResourceOperationStreamAsync( cosmosContainerCore : this.container, resourceUri : this.container.LinkUri, resourceType : ResourceType.Document, operationType : OperationType.ReadFeed, requestOptions : this.changeFeedOptions, requestEnricher : (requestMessage) => { // Set time headers if any ChangeFeedStartFromRequestOptionPopulator visitor = new ChangeFeedStartFromRequestOptionPopulator(requestMessage); this.changeFeedStartFrom.Accept(visitor); }, feedRange : this.changeFeedStartFrom.FeedRange, streamPayload : default,
private async Task <ResponseMessage> ReadNextInternalAsync( CosmosDiagnosticsContext diagnosticsScope, CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequested(); ResponseMessage responseMessage = await this.clientContext.ProcessResourceOperationStreamAsync( resourceUri : this.container.LinkUri, resourceType : ResourceType.Document, operationType : OperationType.ReadFeed, requestOptions : this.changeFeedOptions, cosmosContainerCore : this.container, requestEnricher : (request) => { ChangeFeedStartFromRequestOptionPopulator visitor = new ChangeFeedStartFromRequestOptionPopulator(request); this.changeFeedStartFrom.Accept(visitor); }, partitionKey : default,
internal virtual Task <ResponseMessage> NextResultSetDelegateAsync( ChangeFeedRequestOptions options, CancellationToken cancellationToken) { string resourceUri = this.container.LinkUri; return(this.clientContext.ProcessResourceOperationAsync <ResponseMessage>( resourceUri: resourceUri, resourceType: Documents.ResourceType.Document, operationType: Documents.OperationType.ReadFeed, requestOptions: options, containerInternal: this.container, requestEnricher: (request) => { ChangeFeedStartFromRequestOptionPopulator visitor = new ChangeFeedStartFromRequestOptionPopulator(request); this.changeFeedStartFrom.Accept(visitor); }, responseCreator: response => response, partitionKey: default,