HttpWebRequest/Response API fixes for .NET 4.5.
authorMartin Baulig <martin.baulig@xamarin.com>
Tue, 12 Mar 2013 20:23:28 +0000 (16:23 -0400)
committerMartin Baulig <martin.baulig@xamarin.com>
Tue, 12 Mar 2013 21:22:59 +0000 (17:22 -0400)
mcs/class/System/System.Net/FileWebResponse.cs
mcs/class/System/System.Net/HttpWebRequest.cs
mcs/class/System/System.Net/HttpWebResponse.cs
mcs/class/System/System.Net/WebResponse.cs

index 2bce7359930efdbd63c1e5325c748e858dc33378..73a18f35863647584c5a375cafa042a79cb274ff 100644 (file)
@@ -157,6 +157,9 @@ namespace System.Net
                        GC.SuppressFinalize (this);  \r
                }\r
                \r
+#if NET_4_0\r
+               protected override\r
+#endif         \r
                void Dispose (bool disposing)\r
                {\r
                        if (this.disposed)\r
@@ -174,6 +177,9 @@ namespace System.Net
                        fileStream = null;\r
                        if (stream != null)\r
                                stream.Close (); // also closes webRequest\r
+#if NET_4_0\r
+                       base.Dispose (disposing);\r
+#endif\r
                }\r
                \r
                private void CheckDisposed ()\r
index 60ec0e626926bf73c8dfdd40c69441970966a746..3b55624cfc881336fc3fd63689bf6ca8ed84a223 100644 (file)
@@ -190,6 +190,13 @@ namespace System.Net
                        get { return allowBuffering; }
                        set { allowBuffering = value; }
                }
+               
+#if NET_4_5
+               public virtual bool AllowReadStreamBuffering {
+                       get { return allowBuffering; }
+                       set { allowBuffering = value; }
+               }
+#endif
 
                static Exception GetMustImplement ()
                {
@@ -287,6 +294,9 @@ namespace System.Net
                        set { continueDelegate = value; }
                }
                
+#if NET_4_5
+               virtual
+#endif
                public CookieContainer CookieContainer {
                        get { return cookieContainer; }
                        set { cookieContainer = value; }
@@ -357,6 +367,9 @@ namespace System.Net
                        }
                }
                
+#if NET_4_5
+               virtual
+#endif
                public bool HaveResponse {
                        get { return haveResponse; }
                }
@@ -476,6 +489,14 @@ namespace System.Net
                        }
                }
                
+#if NET_4_5
+               [MonoTODO]
+               public int ContinueTimeout {
+                       get { throw new NotImplementedException (); }
+                       set { throw new NotImplementedException (); }
+               }
+#endif
+               
                public string MediaType {
                        get { return mediaType; }
                        set { 
index fbf8c13788061134d1eb439ebad973924ecffa69..0cb3cd8c8525627f3a8f9122f81662e776cd65c8 100644 (file)
@@ -155,6 +155,9 @@ namespace System.Net
                        }
                }
                
+#if NET_4_5
+               virtual
+#endif
                public CookieCollection Cookies {
                        get {
                                CheckDisposed ();
@@ -199,6 +202,9 @@ namespace System.Net
                        }
                }
                
+#if NET_4_5
+               virtual
+#endif
                public string Method {
                        get {
                                CheckDisposed ();
@@ -227,12 +233,18 @@ namespace System.Net
                        }
                }
                
+#if NET_4_5
+               virtual
+#endif
                public HttpStatusCode StatusCode {
                        get {
                                return statusCode; 
                        }
                }
                
+#if NET_4_5
+               virtual
+#endif
                public string StatusDescription {
                        get {
                                CheckDisposed ();
@@ -309,13 +321,21 @@ namespace System.Net
                        Dispose (true);
                        GC.SuppressFinalize (this);  
                }
-
+               
+#if NET_4_0
+               protected override void Dispose (bool disposing)
+               {
+                       this.disposed = true;
+                       base.Dispose (true);
+               }
+#else
                void Dispose (bool disposing) 
                {
                        this.disposed = true;
                        if (disposing)
                                Close ();
                }
+#endif
                
                private void CheckDisposed () 
                {
index 7e544a560d33ba12805e1e17036122e5f8773414..f2c748f560f1c2e28ce415e775be592a23f35df9 100644 (file)
@@ -110,8 +110,20 @@ namespace System.Net
                void IDisposable.Dispose()\r
 #endif\r
                {\r
+#if NET_4_0\r
+                       Dispose (true);\r
+#else\r
                        Close ();\r
+#endif\r
+               }\r
+               \r
+#if NET_4_0\r
+               protected virtual void Dispose (bool disposing)\r
+               {\r
+                       if (disposing)\r
+                               Close ();\r
                }\r
+#endif\r
 \r
                void ISerializable.GetObjectData\r
                        (SerializationInfo serializationInfo,\r