Merge pull request #3023 from lambdageek/dev/monoerror-minisig
[mono.git] / mcs / class / System.Net.Http / System.Net.Http.Headers / HttpContentHeaders.cs
index 49efa5076099a86c374e613839332a696211a49c..023c958f22e9ddb88a7e40b2a749117390f79054 100644 (file)
@@ -51,6 +51,15 @@ namespace System.Net.Http.Headers
                                return GetValues<string> ("Content-Encoding");
                        }
                }
+               
+               public ContentDispositionHeaderValue ContentDisposition {
+                       get {
+                               return GetValue<ContentDispositionHeaderValue> ("Content-Disposition");
+                       }
+                       set {
+                               AddOrRemove ("Content-Disposition", value);
+                       }
+               }
 
                public ICollection<string> ContentLanguage {
                        get {
@@ -64,9 +73,16 @@ namespace System.Net.Http.Headers
                                if (v != null)
                                        return v;
 
+                               v = content.LoadedBufferLength;
+                               if (v != null)
+                                       return v;
+
                                long l;
-                               if (content.TryComputeLength (out l))
+                               if (content.TryComputeLength (out l)) {
+                                       // .net compatibility reading value actually set header property value
+                                       SetValue ("Content-Length", l);
                                        return l;
+                               }
 
                                return null;
                        }
@@ -89,7 +105,7 @@ namespace System.Net.Http.Headers
                                return GetValue<byte[]> ("Content-MD5");
                        }
                        set {
-                               AddOrRemove ("Content-MD5", value);
+                               AddOrRemove ("Content-MD5", value, Parser.MD5.ToString);
                        }
                }
 
@@ -116,7 +132,7 @@ namespace System.Net.Http.Headers
                                return GetValue<DateTimeOffset?> ("Expires");
                        }
                        set {
-                               AddOrRemove ("Expires", value);
+                               AddOrRemove ("Expires", value, Parser.DateTime.ToString);
                        }
                }
 
@@ -125,7 +141,7 @@ namespace System.Net.Http.Headers
                                return GetValue<DateTimeOffset?> ("Last-Modified");
                        }
                        set {
-                               AddOrRemove ("Last-Modified", value);
+                               AddOrRemove ("Last-Modified", value, Parser.DateTime.ToString);
                        }
                }
        }