diff options
Diffstat (limited to 'mcs/class/System/System.Net/HttpWebRequest.cs')
-rw-r--r-- | mcs/class/System/System.Net/HttpWebRequest.cs | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/mcs/class/System/System.Net/HttpWebRequest.cs b/mcs/class/System/System.Net/HttpWebRequest.cs index f20a0747a3f..b2f67dfcf99 100644 --- a/mcs/class/System/System.Net/HttpWebRequest.cs +++ b/mcs/class/System/System.Net/HttpWebRequest.cs @@ -147,7 +147,7 @@ namespace System.Net get { return webHeaders ["Accept"]; } set { CheckRequestStarted (); - webHeaders.SetInternal ("Accept", value); + webHeaders.RemoveAndAdd ("Accept", value); } } @@ -199,7 +199,7 @@ namespace System.Net if (keepAlive && val.IndexOf ("keep-alive") == -1) value = value + ", Keep-Alive"; - webHeaders.SetInternal ("Connection", value); + webHeaders.RemoveAndAdd ("Connection", value); } } @@ -226,12 +226,11 @@ namespace System.Net public override string ContentType { get { return webHeaders ["Content-Type"]; } set { - CheckRequestStarted (); if (value == null || value.Trim().Length == 0) { webHeaders.RemoveInternal ("Content-Type"); return; } - webHeaders.SetInternal ("Content-Type", value); + webHeaders.RemoveAndAdd ("Content-Type", value); } } @@ -266,7 +265,7 @@ namespace System.Net if (val == "100-continue") throw new ArgumentException ("100-Continue cannot be set with this property.", "value"); - webHeaders.SetInternal ("Expect", value); + webHeaders.RemoveAndAdd ("Expect", value); } } @@ -452,7 +451,7 @@ namespace System.Net if (!sendChunked) throw new ArgumentException ("SendChunked must be True", "value"); - webHeaders.SetInternal ("Transfer-Encoding", value); + webHeaders.RemoveAndAdd ("Transfer-Encoding", value); } } @@ -484,7 +483,7 @@ namespace System.Net } internal bool ProxyQuery { - get { return servicePoint.UsesProxy; } + get { return servicePoint.UsesProxy && !servicePoint.UseConnect; } } // Methods @@ -525,7 +524,7 @@ namespace System.Net value += ","; else throw new InvalidOperationException ("rangeSpecifier"); - webHeaders.SetInternal ("Range", value + range + "-"); + webHeaders.RemoveAndAdd ("Range", value + range + "-"); } public void AddRange (string rangeSpecifier, int from, int to) @@ -541,7 +540,7 @@ namespace System.Net value += ","; else throw new InvalidOperationException ("rangeSpecifier"); - webHeaders.SetInternal ("Range", value + from + "-" + to); + webHeaders.RemoveAndAdd ("Range", value + from + "-" + to); } public override int GetHashCode () @@ -852,13 +851,13 @@ namespace System.Net webHeaders.RemoveInternal ("Transfer-Encoding"); } else if (sendChunked) { continue100 = true; - webHeaders.SetInternal ("Transfer-Encoding", "chunked"); + webHeaders.RemoveAndAdd ("Transfer-Encoding", "chunked"); webHeaders.RemoveInternal ("Content-Length"); } if (actualVersion == HttpVersion.Version11 && continue100 && servicePoint.SendContinue) { // RFC2616 8.2.3 - webHeaders.SetInternal ("Expect" , "100-continue"); + webHeaders.RemoveAndAdd ("Expect" , "100-continue"); expectContinue = true; } else { webHeaders.RemoveInternal ("Expect"); @@ -871,9 +870,9 @@ namespace System.Net servicePoint.ProtocolVersion == HttpVersion.Version10); if (keepAlive && (version == HttpVersion.Version10 || spoint10)) { - webHeaders.SetInternal (connectionHeader, "keep-alive"); + webHeaders.RemoveAndAdd (connectionHeader, "keep-alive"); } else if (!keepAlive && version == HttpVersion.Version11) { - webHeaders.SetInternal (connectionHeader, "close"); + webHeaders.RemoveAndAdd (connectionHeader, "close"); } webHeaders.SetInternal ("Host", actualUri.Authority); @@ -883,9 +882,9 @@ namespace System.Net webHeaders.SetInternal ("Cookie", cookieHeader); } - if (!usedPreAuth && preAuthenticate) { + if (!usedPreAuth && preAuthenticate) DoPreAuthenticate (); - } + return webHeaders.ToString (); } @@ -981,14 +980,15 @@ namespace System.Net } } - internal void SetResponseError (WebExceptionStatus status, Exception e) + internal void SetResponseError (WebExceptionStatus status, Exception e, string where) { WebAsyncResult r = asyncRead; if (r == null) r = asyncWrite; if (r != null) { - WebException wexc = new WebException ("Error getting response stream: " + status, e, status, null); + string msg = String.Format ("Error getting response stream ({0}): {1}", where, status); + WebException wexc = new WebException (msg, e, status, null); r.SetCompleted (false, wexc); r.DoCallback (); asyncRead = null; |