Merge pull request #463 from strawd/concurrent-requests
[mono.git] / mcs / class / System.Net.Http / Test / System.Net.Http / HttpClientTest.cs
index ec049a932105ea973be9d262937694c89f83348e..510a2d63d45122db80bf3d145cbcc953051b807f 100644 (file)
@@ -606,6 +606,39 @@ namespace MonoTests.System.Net.Http
                        }
                }
 
+               [Test]
+               public void Send_Complete_CustomHeaders_Host ()
+               {
+                       bool? failed = null;
+                       var listener = CreateListener (l => {
+                               var request = l.Request;
+
+                               try {
+                                       Assert.AreEqual ("customhost", request.Headers["Host"], "#1");
+                                       failed = false;
+                               } catch {
+                                       failed = true;
+                               }
+                       });
+
+                       try {
+                               var client = new HttpClient ();
+
+                               client.DefaultRequestHeaders.Add("Host", "customhost");
+
+                               var request = new HttpRequestMessage (HttpMethod.Get, LocalServer);
+
+                               var response = client.SendAsync (request, HttpCompletionOption.ResponseHeadersRead).Result;
+
+                               Assert.AreEqual ("", response.Content.ReadAsStringAsync ().Result, "#100");
+                               Assert.AreEqual (HttpStatusCode.OK, response.StatusCode, "#101");
+                               Assert.AreEqual (false, failed, "#102");
+                       } finally {
+                               listener.Abort ();
+                               listener.Close ();
+                       }
+               }
+
                [Test]
                public void Send_Transfer_Encoding_Chunked ()
                {