public void RoundtripClientRequest(IEnumerable <string> message)
        {
            HttpContent        content            = CreateContent(true, message, null);
            HttpRequestMessage httpRequest        = content.ReadAsHttpRequestMessageAsync().Result;
            HttpMessageContent httpMessageContent = new HttpMessageContent(httpRequest);

            MemoryStream destination = new MemoryStream();

            httpMessageContent.CopyToAsync(destination).Wait();
            destination.Seek(0, SeekOrigin.Begin);
            string destinationMessage = new StreamReader(destination).ReadToEnd();
            string sourceMessage      = content.ReadAsStringAsync().Result;

            Assert.Equal(sourceMessage, destinationMessage);
        }
        public void RoundtripServerResponse(IEnumerable <string> message)
        {
            HttpContent         content            = CreateContent(false, message, @"<html><head><title>Object moved</title></head><body><h2>Object moved to <a href=""/en-us/"">here</a>.</h2></body></html>");
            HttpResponseMessage httpResponse       = content.ReadAsHttpResponseMessageAsync().Result;
            HttpMessageContent  httpMessageContent = new HttpMessageContent(httpResponse);

            MemoryStream destination = new MemoryStream();

            httpMessageContent.CopyToAsync(destination).Wait();
            destination.Seek(0, SeekOrigin.Begin);
            string destinationMessage = new StreamReader(destination).ReadToEnd();
            string sourceMessage      = content.ReadAsStringAsync().Result;

            Assert.Equal(sourceMessage, destinationMessage);
        }
        public void RoundtripServerResponse(IEnumerable<string> message)
        {
            HttpContent content = CreateContent(false, message, @"<html><head><title>Object moved</title></head><body><h2>Object moved to <a href=""/en-us/"">here</a>.</h2></body></html>");
            HttpResponseMessage httpResponse = content.ReadAsHttpResponseMessageAsync().Result;
            HttpMessageContent httpMessageContent = new HttpMessageContent(httpResponse);

            MemoryStream destination = new MemoryStream();
            httpMessageContent.CopyToAsync(destination).Wait();
            destination.Seek(0, SeekOrigin.Begin);
            string destinationMessage = new StreamReader(destination).ReadToEnd();
            string sourceMessage = content.ReadAsStringAsync().Result;
            Assert.Equal(sourceMessage, destinationMessage);
        }
        public void RoundtripClientRequest(IEnumerable<string> message)
        {
            HttpContent content = CreateContent(true, message, null);
            HttpRequestMessage httpRequest = content.ReadAsHttpRequestMessageAsync().Result;
            HttpMessageContent httpMessageContent = new HttpMessageContent(httpRequest);

            MemoryStream destination = new MemoryStream();
            httpMessageContent.CopyToAsync(destination).Wait();
            destination.Seek(0, SeekOrigin.Begin);
            string destinationMessage = new StreamReader(destination).ReadToEnd();
            string sourceMessage = content.ReadAsStringAsync().Result;
            Assert.Equal(sourceMessage, destinationMessage);
        }
 public static async Task<Stream> ToRawHttpResponseStream(this HttpResponseMessage response, Stream stream)
 {
     var httpMessageContent = new HttpMessageContent(response);
     await httpMessageContent.CopyToAsync(stream);
     return stream;
 }