public static CosmosHttpClient CreateCosmosHttpClient( Func <HttpClient> httpClient, DocumentClientEventSource eventSource = null) { if (eventSource == null) { eventSource = DocumentClientEventSource.Instance; } ConnectionPolicy connectionPolicy = new ConnectionPolicy() { HttpClientFactory = httpClient }; return(CosmosHttpClientCore.CreateWithConnectionPolicy( apiType: default,
public async Task ResponseMessageHasRequestMessageAsync() { // We don't set the RequestMessage property on purpose on the Failed response // This will make it go through GatewayStoreClient.CreateDocumentClientExceptionAsync Func <HttpRequestMessage, Task <HttpResponseMessage> > sendFunc = request => { HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent("test") }; return(Task.FromResult(response)); }; DocumentClientEventSource eventSource = DocumentClientEventSource.Instance; HttpMessageHandler messageHandler = new MockMessageHandler(sendFunc); CosmosHttpClient cosmoshttpClient = MockCosmosUtil.CreateCosmosHttpClient(() => new HttpClient(messageHandler)); HttpRequestMessage httpRequestMessage = new HttpRequestMessage(HttpMethod.Post, new Uri("http://localhost")); HttpResponseMessage responseMessage = await cosmoshttpClient.SendHttpAsync(() => new ValueTask <HttpRequestMessage>(httpRequestMessage), ResourceType.Collection, null, default); Assert.AreEqual(httpRequestMessage, responseMessage.RequestMessage); }