internal virtual Task <CosmosResponseMessage> NextResultSetDelegate( string continuationToken, string partitionKeyRangeId, int?maxItemCount, CosmosChangeFeedRequestOptions options, CancellationToken cancellationToken) { Uri resourceUri = this.cosmosContainer.LinkUri; return(ExecUtils.ProcessResourceOperationAsync <CosmosResponseMessage>( client: this.cosmosContainer.Database.Client, resourceUri: resourceUri, resourceType: Documents.ResourceType.Document, operationType: Documents.OperationType.ReadFeed, requestOptions: options, requestEnricher: request => { CosmosChangeFeedRequestOptions.FillContinuationToken(request, continuationToken); CosmosChangeFeedRequestOptions.FillMaxItemCount(request, maxItemCount); CosmosChangeFeedRequestOptions.FillPartitionKeyRangeId(request, partitionKeyRangeId); }, responseCreator: response => response, partitionKey: null, streamPayload: null, cancellationToken: cancellationToken)); }
public void CosmosChangeFeedRequestOptions_AddsPartitionKeyRangeId() { CosmosRequestMessage request = new CosmosRequestMessage(); CosmosChangeFeedRequestOptions requestOptions = new CosmosChangeFeedRequestOptions(); CosmosChangeFeedRequestOptions.FillPartitionKeyRangeId(request, "randomPK"); Assert.AreEqual("randomPK", request.PartitionKeyRangeId); }
public void CosmosChangeFeedRequestOptions_DefaultValues() { CosmosRequestMessage request = new CosmosRequestMessage(); CosmosChangeFeedRequestOptions requestOptions = new CosmosChangeFeedRequestOptions() { }; requestOptions.FillRequestOptions(request); Assert.AreEqual(CosmosChangeFeedRequestOptions.IfNoneMatchAllHeaderValue, request.Headers.IfNoneMatch); Assert.IsNull(request.Headers[Documents.HttpConstants.HttpHeaders.IfModifiedSince]); }
public void CosmosChangeFeedRequestOptions_AddsStartTime() { CosmosRequestMessage request = new CosmosRequestMessage(); CosmosChangeFeedRequestOptions requestOptions = new CosmosChangeFeedRequestOptions() { StartTime = new DateTime(1985, 1, 1, 0, 0, 0, DateTimeKind.Utc) }; requestOptions.FillRequestOptions(request); Assert.AreEqual("Tue, 01 Jan 1985 00:00:00 GMT", request.Headers[Documents.HttpConstants.HttpHeaders.IfModifiedSince]); Assert.IsNull(request.Headers.IfNoneMatch); }
public void CosmosChangeFeedRequestOptions_ContinuationIsSet() { CosmosRequestMessage request = new CosmosRequestMessage(); CosmosChangeFeedRequestOptions requestOptions = new CosmosChangeFeedRequestOptions() { }; CosmosChangeFeedRequestOptions.FillContinuationToken(request, "something"); requestOptions.FillRequestOptions(request); Assert.AreEqual("something", request.Headers.IfNoneMatch); Assert.IsNull(request.Headers[Documents.HttpConstants.HttpHeaders.IfModifiedSince]); }
public void CosmosChangeFeedRequestOptions_MaxItemSizeIsSet() { CosmosRequestMessage request = new CosmosRequestMessage(); CosmosChangeFeedRequestOptions requestOptions = new CosmosChangeFeedRequestOptions() { }; CosmosChangeFeedRequestOptions.FillMaxItemCount(request, 10); requestOptions.FillRequestOptions(request); Assert.AreEqual("10", request.Headers[Documents.HttpConstants.HttpHeaders.PageSize]); Assert.AreEqual(CosmosChangeFeedRequestOptions.IfNoneMatchAllHeaderValue, request.Headers.IfNoneMatch); Assert.IsNull(request.Headers[Documents.HttpConstants.HttpHeaders.IfModifiedSince]); }
internal CosmosFeedResultSetIterator GetStandByFeedIterator( string continuationToken = null, int?maxItemCount = null, CosmosChangeFeedRequestOptions requestOptions = null, CancellationToken cancellationToken = default(CancellationToken)) { CosmosChangeFeedRequestOptions cosmosQueryRequestOptions = requestOptions as CosmosChangeFeedRequestOptions ?? new CosmosChangeFeedRequestOptions(); return(new CosmosChangeFeedResultSetIteratorCore( continuationToken: continuationToken, maxItemCount: maxItemCount, cosmosContainer: (CosmosContainerCore)this.container, options: cosmosQueryRequestOptions)); }
internal CosmosChangeFeedResultSetIteratorCore( CosmosContainerCore cosmosContainer, string continuationToken, int?maxItemCount, CosmosChangeFeedRequestOptions options) { if (cosmosContainer == null) { throw new ArgumentNullException(nameof(cosmosContainer)); } this.cosmosContainer = cosmosContainer; this.changeFeedOptions = options; this.maxItemCount = maxItemCount; this.originalMaxItemCount = maxItemCount; this.continuationToken = continuationToken; this.HasMoreResults = true; }