You've already forked linux-packaging-mono
Imported Upstream version 4.2.1.60
Former-commit-id: 05052d1d7a3a94b0d9ee70461d62b6591e5ab5bc
This commit is contained in:
committed by
Jo Shields
parent
ea5caba957
commit
bdd40f83c0
@@ -276,6 +276,14 @@ namespace System.Net.Http
|
||||
var headers = wr.Headers;
|
||||
foreach (var header in request.Headers) {
|
||||
var values = header.Value;
|
||||
if (header.Key == "Host") {
|
||||
//
|
||||
// Host must be explicitly set for HttpWebRequest
|
||||
//
|
||||
wr.Host = request.Headers.Host;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (header.Key == "Transfer-Encoding") {
|
||||
// Chunked Transfer-Encoding is never set for HttpWebRequest. It's detected
|
||||
// from ContentLength by HttpWebRequest
|
||||
|
@@ -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 ()
|
||||
{
|
||||
|
Reference in New Issue
Block a user