internal static ReadFeedResponse <TInput> CreateResponse <TInput>( ResponseMessage responseMessage, CosmosSerializerCore serializerCore, Documents.ResourceType resourceType) { using (responseMessage) { responseMessage.EnsureSuccessStatusCode(); CosmosArray cosmosArray = null; if (responseMessage.Content != null) { cosmosArray = CosmosElementSerializer.ToCosmosElements( responseMessage.Content, resourceType, null); } ReadFeedResponse <TInput> readFeedResponse = new ReadFeedResponse <TInput>( httpStatusCode: responseMessage.StatusCode, cosmosArray: cosmosArray, serializerCore: serializerCore, responseMessageHeaders: responseMessage.Headers, diagnostics: responseMessage.Diagnostics); return(readFeedResponse); } }
internal static ReadFeedResponse <TInput> CreateResponse <TInput>( ResponseMessage responseMessage, CosmosSerializerCore serializerCore, Documents.ResourceType resourceType) { using (responseMessage) { // ReadFeed can return 304 on some scenarios (Change Feed for example) if (responseMessage.StatusCode != HttpStatusCode.NotModified) { responseMessage.EnsureSuccessStatusCode(); } CosmosArray cosmosArray = null; if (responseMessage.Content != null) { cosmosArray = CosmosElementSerializer.ToCosmosElements( responseMessage.Content, resourceType, null); } ReadFeedResponse <TInput> readFeedResponse = new ReadFeedResponse <TInput>( httpStatusCode: responseMessage.StatusCode, cosmosArray: cosmosArray, serializerCore: serializerCore, responseMessageHeaders: responseMessage.Headers, diagnostics: responseMessage.Diagnostics); return(readFeedResponse); } }
private FeedResponse <T> CreateChangeFeedResponseHelper <T>( ResponseMessage cosmosResponseMessage) { return(ReadFeedResponse <T> .CreateResponse <T>( cosmosResponseMessage, this.serializerCore)); }
internal static ReadFeedResponse <TInput> CreateResponse <TInput>( ResponseMessage responseMessage, CosmosSerializerCore serializerCore) { using (responseMessage) { // ReadFeed can return 304 on Change Feed responses if (responseMessage.StatusCode != HttpStatusCode.NotModified) { responseMessage.EnsureSuccessStatusCode(); } IReadOnlyCollection <TInput> resources = CosmosFeedResponseSerializer.FromFeedResponseStream <TInput>( serializerCore, responseMessage.Content); ReadFeedResponse <TInput> readFeedResponse = new ReadFeedResponse <TInput>( httpStatusCode: responseMessage.StatusCode, resources: resources, resourceCount: resources.Count, responseMessageHeaders: responseMessage.Headers, diagnostics: responseMessage.Diagnostics); return(readFeedResponse); } }
private FeedResponse <T> CreateChangeFeedResponseHelper <T>( ResponseMessage cosmosResponseMessage, Documents.ResourceType resourceType) { return(ReadFeedResponse <T> .CreateResponse <T>( cosmosResponseMessage, this.serializerCore, resourceType)); }
private FeedResponse <T> CreateChangeFeedResponseHelper <T>( ResponseMessage cosmosResponseMessage) { using (cosmosResponseMessage.Trace.StartChild("ChangeFeed Response Serialization")) { return(ReadFeedResponse <T> .CreateResponse <T>( cosmosResponseMessage, this.serializerCore)); } }
internal static ReadFeedResponse <TInput> CreateResponse <TInput>( Headers responseMessageHeaders, ICollection <TInput> resources, bool hasMoreResults) { ReadFeedResponse <TInput> readFeedResponse = new ReadFeedResponse <TInput>( resource: resources, responseMessageHeaders: responseMessageHeaders); return(readFeedResponse); }
internal static ReadFeedResponse <TInput> CreateResponse <TInput>( CosmosResponseMessageHeaders responseMessageHeaders, IEnumerable <TInput> resources, bool hasMoreResults) { ReadFeedResponse <TInput> readFeedResponse = new ReadFeedResponse <TInput>( resource: resources, responseMessageHeaders: responseMessageHeaders, hasMoreResults: hasMoreResults); return(readFeedResponse); }
private FeedResponse <T> CreateQueryFeedResponseHelper <T>( ResponseMessage cosmosResponseMessage) { if (cosmosResponseMessage is QueryResponse queryResponse) { return(QueryResponse <T> .CreateResponse <T>( cosmosQueryResponse : queryResponse, serializerCore : this.serializerCore)); } return(ReadFeedResponse <T> .CreateResponse <T>( cosmosResponseMessage, this.serializerCore)); }
internal static ReadFeedResponse <TInput> CreateResponse <TInput>( Headers responseMessageHeaders, Stream stream, CosmosSerializer jsonSerializer, bool hasMoreResults) { using (stream) { CosmosFeedResponseUtil <TInput> response = jsonSerializer.FromStream <CosmosFeedResponseUtil <TInput> >(stream); IEnumerable <TInput> resources = response.Data; ReadFeedResponse <TInput> readFeedResponse = new ReadFeedResponse <TInput>( resource: resources, responseMessageHeaders: responseMessageHeaders, hasMoreResults: hasMoreResults); return(readFeedResponse); } }
private FeedResponse <T> CreateQueryFeedResponseHelper <T>( ResponseMessage cosmosResponseMessage, Documents.ResourceType resourceType) { QueryResponse queryResponse = cosmosResponseMessage as QueryResponse; if (queryResponse != null) { return(QueryResponse <T> .CreateResponse <T>( cosmosQueryResponse : queryResponse, serializerCore : this.serializerCore)); } return(ReadFeedResponse <T> .CreateResponse <T>( cosmosResponseMessage, this.serializerCore, resourceType)); }
internal FeedResponse <T> CreateQueryFeedResponse <T>( ResponseMessage cosmosResponseMessage) { //Throw the exception cosmosResponseMessage.EnsureSuccessStatusCode(); QueryResponse queryResponse = cosmosResponseMessage as QueryResponse; if (queryResponse != null) { return(QueryResponse <T> .CreateResponse <T>( responseMessage : queryResponse, jsonSerializer : this.cosmosSerializer)); } return(ReadFeedResponse <T> .CreateResponse <T>( cosmosResponseMessage, this.cosmosSerializer)); }
internal static ReadFeedResponse <TInput> CreateResponse <TInput>( ResponseMessage responseMessage, CosmosSerializer jsonSerializer) { using (responseMessage) { ICollection <TInput> resources = default(ICollection <TInput>); if (responseMessage.Content != null) { CosmosFeedResponseUtil <TInput> response = jsonSerializer.FromStream <CosmosFeedResponseUtil <TInput> >(responseMessage.Content); resources = response.Data; } ReadFeedResponse <TInput> readFeedResponse = new ReadFeedResponse <TInput>( resource: resources, responseMessageHeaders: responseMessage.Headers); return(readFeedResponse); } }
private FeedResponse <T> CreateQueryFeedResponseHelper <T>( ResponseMessage cosmosResponseMessage) { if (cosmosResponseMessage is QueryResponse queryResponse) { using (cosmosResponseMessage.Trace.StartChild("Query Response Serialization")) { return(QueryResponse <T> .CreateResponse <T>( cosmosQueryResponse : queryResponse, serializerCore : this.serializerCore)); } } using (cosmosResponseMessage.Trace.StartChild("Feed Response Serialization")) { return(ReadFeedResponse <T> .CreateResponse <T>( cosmosResponseMessage, this.serializerCore)); } }
private FeedResponse <T> CreateQueryFeedResponseHelper <T>( ResponseMessage cosmosResponseMessage, Documents.ResourceType resourceType) { //Throw the exception cosmosResponseMessage.EnsureSuccessStatusCode(); QueryResponse queryResponse = cosmosResponseMessage as QueryResponse; if (queryResponse != null) { return(QueryResponse <T> .CreateResponse <T>( cosmosQueryResponse : queryResponse, serializerCore : this.serializerCore)); } return(ReadFeedResponse <T> .CreateResponse <T>( cosmosResponseMessage, this.serializerCore, resourceType)); }
internal static ReadFeedResponse <TInput> CreateResponse <TInput>( ResponseMessage responseMessage, CosmosSerializerCore serializerCore) { using (responseMessage) { responseMessage.EnsureSuccessStatusCode(); IReadOnlyCollection <TInput> resources = CosmosFeedResponseSerializer.FromFeedResponseStream <TInput>( serializerCore, responseMessage.Content); ReadFeedResponse <TInput> readFeedResponse = new ReadFeedResponse <TInput>( httpStatusCode: responseMessage.StatusCode, resources: resources, responseMessageHeaders: responseMessage.Headers, diagnostics: responseMessage.Diagnostics); return(readFeedResponse); } }
private FeedResponse <T> CreateQueryFeedResponseHelper <T>( ResponseMessage cosmosResponseMessage, bool usePropertySerializer) { //Throw the exception cosmosResponseMessage.EnsureSuccessStatusCode(); // The property serializer should be used for internal // query operations like throughput since user serializer can break the logic CosmosSerializer serializer = usePropertySerializer ? this.propertiesSerializer : this.cosmosSerializer; QueryResponse queryResponse = cosmosResponseMessage as QueryResponse; if (queryResponse != null) { return(QueryResponse <T> .CreateResponse <T>( cosmosQueryResponse : queryResponse, jsonSerializer : serializer)); } return(ReadFeedResponse <T> .CreateResponse <T>( cosmosResponseMessage, serializer)); }