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,
Пример #3
0
 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,
Пример #5
0
        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,