@@ -181,7 +181,19 @@ private void AddSharedHeaderActions()
181181 _restrictedHeaderActions . Add ( "Accept" , ( r , v ) => r . Accept = v ) ;
182182 _restrictedHeaderActions . Add ( "Content-Type" , ( r , v ) => r . ContentType = v ) ;
183183 _restrictedHeaderActions . Add ( "Date" , ( r , v ) => { /* Set by system */ } ) ;
184+ #if NET4
185+ _restrictedHeaderActions . Add ( "Date" , ( r , v ) =>
186+ {
187+ DateTime parsed ;
188+ if ( DateTime . TryParse ( v , out parsed ) )
189+ {
190+ r . Date = parsed ;
191+ }
192+ } ) ;
193+ _restrictedHeaderActions . Add ( "Host" , ( r , v ) => r . Host = v ) ;
194+ #else
184195 _restrictedHeaderActions . Add ( "Host" , ( r , v ) => { /* Set by system */ } ) ;
196+ #endif
185197#if FRAMEWORK
186198 _restrictedHeaderActions . Add ( "Range" , ( r , v ) => { AddRange ( r , v ) ; } ) ;
187199#endif
@@ -239,23 +251,23 @@ private void AppendCookies(HttpWebRequest webRequest)
239251 foreach ( var httpCookie in Cookies )
240252 {
241253#if FRAMEWORK
242- var cookie = new Cookie
254+ var cookie = new Cookie
243255 {
244256 Name = httpCookie . Name ,
245257 Value = httpCookie . Value ,
246258 Domain = webRequest . RequestUri . Host
247259 } ;
248260 webRequest . CookieContainer . Add ( cookie ) ;
249261#else
250- var cookie = new Cookie
262+ var cookie = new Cookie
251263 {
252264 Name = httpCookie . Name ,
253265 Value = httpCookie . Value
254266 } ;
255267 var uri = webRequest . RequestUri ;
256268 webRequest . CookieContainer . Add ( new Uri ( string . Format ( "{0}://{1}" , uri . Scheme , uri . Host ) ) , cookie ) ;
257269#endif
258- }
270+ }
259271 }
260272
261273 private string EncodeParameters ( )
@@ -325,12 +337,12 @@ private static void ExtractResponseData(HttpResponse response, HttpWebResponse w
325337 response . ContentType = webResponse . ContentType ;
326338 response . ContentLength = webResponse . ContentLength ;
327339#if WINDOWS_PHONE
328- if ( string . Equals ( webResponse . Headers [ HttpRequestHeader . ContentEncoding ] , "gzip" , StringComparison . OrdinalIgnoreCase ) )
329- response . RawBytes = new GZipStream ( webResponse . GetResponseStream ( ) ) . ReadAsBytes ( ) ;
330- else
331- response . RawBytes = webResponse . GetResponseStream ( ) . ReadAsBytes ( ) ;
340+ if ( string . Equals ( webResponse . Headers [ HttpRequestHeader . ContentEncoding ] , "gzip" , StringComparison . OrdinalIgnoreCase ) )
341+ response . RawBytes = new GZipStream ( webResponse . GetResponseStream ( ) ) . ReadAsBytes ( ) ;
342+ else
343+ response . RawBytes = webResponse . GetResponseStream ( ) . ReadAsBytes ( ) ;
332344#else
333- response . RawBytes = webResponse . GetResponseStream ( ) . ReadAsBytes ( ) ;
345+ response . RawBytes = webResponse . GetResponseStream ( ) . ReadAsBytes ( ) ;
334346#endif
335347 //response.Content = GetString(response.RawBytes);
336348 response . StatusCode = webResponse . StatusCode ;
0 commit comments