internal virtual Task <ResponseMessage> NextResultSetDelegateAsync(
            string continuationToken,
            string partitionKeyRangeId,
            int?maxItemCount,
            ChangeFeedRequestOptions options,
            CancellationToken cancellationToken)
        {
            Uri resourceUri = this.container.LinkUri;

            return(this.clientContext.ProcessResourceOperationAsync <ResponseMessage>(
                       resourceUri: resourceUri,
                       resourceType: Documents.ResourceType.Document,
                       operationType: Documents.OperationType.ReadFeed,
                       requestOptions: options,
                       cosmosContainerCore: this.container,
                       requestEnricher: request =>
            {
                ChangeFeedRequestOptions.FillContinuationToken(request, continuationToken);
                ChangeFeedRequestOptions.FillMaxItemCount(request, maxItemCount);
                ChangeFeedRequestOptions.FillPartitionKeyRangeId(request, partitionKeyRangeId);
            },
                       responseCreator: response => response,
                       partitionKey: null,
                       streamPayload: null,
                       cancellationToken: cancellationToken));
        }
Esempio n. 2
0
        public void ChangeFeedRequestOptions_AddsPartitionKeyRangeId()
        {
            RequestMessage           request        = new RequestMessage();
            ChangeFeedRequestOptions requestOptions = new ChangeFeedRequestOptions();

            ChangeFeedRequestOptions.FillPartitionKeyRangeId(request, "randomPK");

            Assert.AreEqual("randomPK", request.PartitionKeyRangeId.PartitionKeyRangeId);
        }
        public override void EnrichRequest(RequestMessage request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            if (this.FeedTokenEPKRange == null)
            {
                ChangeFeedRequestOptions.FillPartitionKeyRangeId(request, this.PartitionKeyRangeId);
            }
            else
            {
                this.FeedTokenEPKRange.EnrichRequest(request);
            }
        }
Esempio n. 4
0
 public void Visit(FeedRangePartitionKeyRange feedRange)
 {
     ChangeFeedRequestOptions.FillPartitionKeyRangeId(this.request, feedRange.PartitionKeyRangeId);
 }