diff --git a/RestSharp/Http.cs b/RestSharp/Http.cs index ebedfb504..502276593 100644 --- a/RestSharp/Http.cs +++ b/RestSharp/Http.cs @@ -180,8 +180,20 @@ private void AddSharedHeaderActions() { _restrictedHeaderActions.Add("Accept", (r, v) => r.Accept = v); _restrictedHeaderActions.Add("Content-Type", (r, v) => r.ContentType = v); +#if NET4 + _restrictedHeaderActions.Add("Date", (r, v) => + { + DateTime parsed; + if (DateTime.TryParse(v, out parsed)) + { + r.Date = parsed; + } + }); + _restrictedHeaderActions.Add("Host", (r, v) => r.Host = v); +#else _restrictedHeaderActions.Add("Date", (r, v) => { /* Set by system */ }); _restrictedHeaderActions.Add("Host", (r, v) => { /* Set by system */ }); +#endif #if FRAMEWORK _restrictedHeaderActions.Add("Range", (r, v) => { AddRange(r, v); }); #endif @@ -239,7 +251,7 @@ private void AppendCookies(HttpWebRequest webRequest) foreach (var httpCookie in Cookies) { #if FRAMEWORK - var cookie = new Cookie + var cookie = new Cookie { Name = httpCookie.Name, Value = httpCookie.Value, @@ -247,7 +259,7 @@ private void AppendCookies(HttpWebRequest webRequest) }; webRequest.CookieContainer.Add(cookie); #else - var cookie = new Cookie + var cookie = new Cookie { Name = httpCookie.Name, Value = httpCookie.Value @@ -255,7 +267,7 @@ private void AppendCookies(HttpWebRequest webRequest) var uri = webRequest.RequestUri; webRequest.CookieContainer.Add(new Uri(string.Format("{0}://{1}", uri.Scheme, uri.Host)), cookie); #endif - } + } } private string EncodeParameters() @@ -325,12 +337,12 @@ private static void ExtractResponseData(HttpResponse response, HttpWebResponse w response.ContentType = webResponse.ContentType; response.ContentLength = webResponse.ContentLength; #if WINDOWS_PHONE - if (string.Equals(webResponse.Headers[HttpRequestHeader.ContentEncoding], "gzip", StringComparison.OrdinalIgnoreCase)) - response.RawBytes = new GZipStream(webResponse.GetResponseStream()).ReadAsBytes(); - else - response.RawBytes = webResponse.GetResponseStream().ReadAsBytes(); + if (string.Equals(webResponse.Headers[HttpRequestHeader.ContentEncoding], "gzip", StringComparison.OrdinalIgnoreCase)) + response.RawBytes = new GZipStream(webResponse.GetResponseStream()).ReadAsBytes(); + else + response.RawBytes = webResponse.GetResponseStream().ReadAsBytes(); #else - response.RawBytes = webResponse.GetResponseStream().ReadAsBytes(); + response.RawBytes = webResponse.GetResponseStream().ReadAsBytes(); #endif //response.Content = GetString(response.RawBytes); response.StatusCode = webResponse.StatusCode;