@@ -180,8 +180,20 @@ private void AddSharedHeaderActions()
180
180
{
181
181
_restrictedHeaderActions . Add ( "Accept" , ( r , v ) => r . Accept = v ) ;
182
182
_restrictedHeaderActions . Add ( "Content-Type" , ( r , v ) => r . ContentType = v ) ;
183
+ #if NET4
184
+ _restrictedHeaderActions . Add ( "Date" , ( r , v ) =>
185
+ {
186
+ DateTime parsed ;
187
+ if ( DateTime . TryParse ( v , out parsed ) )
188
+ {
189
+ r . Date = parsed ;
190
+ }
191
+ } ) ;
192
+ _restrictedHeaderActions . Add ( "Host" , ( r , v ) => r . Host = v ) ;
193
+ #else
183
194
_restrictedHeaderActions . Add ( "Date" , ( r , v ) => { /* Set by system */ } ) ;
184
195
_restrictedHeaderActions . Add ( "Host" , ( r , v ) => { /* Set by system */ } ) ;
196
+ #endif
185
197
#if FRAMEWORK
186
198
_restrictedHeaderActions . Add ( "Range" , ( r , v ) => { AddRange ( r , v ) ; } ) ;
187
199
#endif
@@ -239,23 +251,23 @@ private void AppendCookies(HttpWebRequest webRequest)
239
251
foreach ( var httpCookie in Cookies )
240
252
{
241
253
#if FRAMEWORK
242
- var cookie = new Cookie
254
+ var cookie = new Cookie
243
255
{
244
256
Name = httpCookie . Name ,
245
257
Value = httpCookie . Value ,
246
258
Domain = webRequest . RequestUri . Host
247
259
} ;
248
260
webRequest . CookieContainer . Add ( cookie ) ;
249
261
#else
250
- var cookie = new Cookie
262
+ var cookie = new Cookie
251
263
{
252
264
Name = httpCookie . Name ,
253
265
Value = httpCookie . Value
254
266
} ;
255
267
var uri = webRequest . RequestUri ;
256
268
webRequest . CookieContainer . Add ( new Uri ( string . Format ( "{0}://{1}" , uri . Scheme , uri . Host ) ) , cookie ) ;
257
269
#endif
258
- }
270
+ }
259
271
}
260
272
261
273
private string EncodeParameters ( )
@@ -325,12 +337,12 @@ private static void ExtractResponseData(HttpResponse response, HttpWebResponse w
325
337
response . ContentType = webResponse . ContentType ;
326
338
response . ContentLength = webResponse . ContentLength ;
327
339
#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 ( ) ;
332
344
#else
333
- response . RawBytes = webResponse . GetResponseStream ( ) . ReadAsBytes ( ) ;
345
+ response . RawBytes = webResponse . GetResponseStream ( ) . ReadAsBytes ( ) ;
334
346
#endif
335
347
//response.Content = GetString(response.RawBytes);
336
348
response . StatusCode = webResponse . StatusCode ;
0 commit comments