2009-07-10 Gonzalo Paniagua Javier <gonzalo@novell.com>
authorGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Fri, 10 Jul 2009 05:45:10 +0000 (05:45 -0000)
committerGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Fri, 10 Jul 2009 05:45:10 +0000 (05:45 -0000)
* WebClient.cs: implement GetWebRequest and GetWebResponse. Use them
instead of SetupRequest and ProcessResponse.

svn path=/trunk/mcs/; revision=137673

mcs/class/System/System.Net/ChangeLog
mcs/class/System/System.Net/WebClient.cs

index 1fd739fe5bd7b8ef53930f7f8ad39676bcf0d3eb..c03e4002d681821a5e537cf9eadc63319f64c56b 100644 (file)
@@ -1,3 +1,8 @@
+2009-07-10 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * WebClient.cs: implement GetWebRequest and GetWebResponse. Use them
+       instead of SetupRequest and ProcessResponse.
+
 2009-07-07 Gonzalo Paniagua Javier <gonzalo@novell.com>
 
        * WebClient.cs: set the content length when uploading values. This
index 253d6ff98f266faa6b5af5f8d18aeeb711d45547..050f7904ea64d6e400552d6a05c3c35356c91561 100644 (file)
@@ -272,8 +272,8 @@ namespace System.Net
                        
                        try {
                                request = SetupRequest (address);
-                               WebResponse response = request.GetResponse ();
-                               Stream st = ProcessResponse (response);
+                               WebResponse response = GetWebResponse (request);
+                               Stream st = response.GetResponseStream ();
                                return ReadAll (st, (int) response.ContentLength, userToken);
                        } catch (ThreadInterruptedException){
                                if (request != null)
@@ -330,8 +330,8 @@ namespace System.Net
                        using (FileStream f = new FileStream (fileName, FileMode.Create)) {
                                try {
                                        request = SetupRequest (address);
-                                       WebResponse response = request.GetResponse ();
-                                       Stream st = ProcessResponse (response);
+                                       WebResponse response = GetWebResponse (request);
+                                       Stream st = response.GetResponseStream ();
                                        
                                        int cLength = (int) response.ContentLength;
                                        int length = (cLength <= -1 || cLength > 32*1024) ? 32*1024 : cLength;
@@ -389,8 +389,8 @@ namespace System.Net
                                async = false;
 #endif                         
                                request = SetupRequest (address);
-                               WebResponse response = request.GetResponse ();
-                               return ProcessResponse (response);
+                               WebResponse response = GetWebResponse (request);
+                               return response.GetResponseStream ();
                        } catch (Exception ex) {
                                throw new WebException ("An error occurred " +
                                        "performing a WebClient request.", ex);
@@ -541,8 +541,8 @@ namespace System.Net
                                        stream.Write (data, 0, contentLength);
                                }
                                
-                               WebResponse response = request.GetResponse ();
-                               Stream st = ProcessResponse (response);
+                               WebResponse response = GetWebResponse (request);
+                               Stream st = response.GetResponseStream ();
                                return ReadAll (st, (int) response.ContentLength, userToken);
                        } catch (ThreadInterruptedException){
                                if (request != null)
@@ -651,8 +651,8 @@ namespace System.Net
                                reqStream.Write (realBoundary, 0, realBoundary.Length);
                                reqStream.Close ();
                                reqStream = null;
-                               WebResponse response = request.GetResponse ();
-                               Stream st = ProcessResponse (response);
+                               WebResponse response = GetWebResponse (request);
+                               Stream st = response.GetResponseStream ();
                                resultBytes = ReadAll (st, (int) response.ContentLength, userToken);
                        } catch (ThreadInterruptedException){
                                if (request != null)
@@ -759,8 +759,8 @@ namespace System.Net
                                }
                                tmpStream.Close ();
                                
-                               WebResponse response = request.GetResponse ();
-                               Stream st = ProcessResponse (response);
+                               WebResponse response = GetWebResponse (request);
+                               Stream st = response.GetResponseStream ();
                                return ReadAll (st, (int) response.ContentLength, userToken);
                        } catch (ThreadInterruptedException) {
                                request.Abort ();
@@ -981,12 +981,6 @@ namespace System.Net
                        return request;
                }
 
-               Stream ProcessResponse (WebResponse response)
-               {
-                       responseHeaders = response.Headers;
-                       return response.GetResponseStream ();
-               }
-
                byte [] ReadAll (Stream stream, int length, object userToken)
                {
                        MemoryStream ms = null;
@@ -1229,8 +1223,8 @@ namespace System.Net
                                        WebRequest request = null;
                                        try {
                                                request = SetupRequest ((Uri) args [0]);
-                                               WebResponse response = request.GetResponse ();
-                                               Stream stream = ProcessResponse (response);
+                                               WebResponse response = GetWebResponse (request);
+                                               Stream stream = response.GetResponseStream ();
                                                OnOpenReadCompleted (
                                                        new OpenReadCompletedEventArgs (stream, null, false, args [1]));
                                        } catch (ThreadInterruptedException){
@@ -1534,21 +1528,32 @@ namespace System.Net
                                UploadValuesCompleted (this, args);
                }
 
-               [MonoNotSupported("")]
-               protected virtual WebRequest GetWebRequest (Uri address)
+               protected virtual WebResponse GetWebResponse (WebRequest request, IAsyncResult result)
                {
-                       throw new NotImplementedException ();
+                       WebResponse response = request.EndGetResponse (result);
+                       responseHeaders = response.Headers;
+                       return response;
                }
+#endif
 
-               protected virtual WebResponse GetWebResponse (WebRequest request)
+#if NET_2_0
+               protected virtual
+#endif
+               WebRequest GetWebRequest (Uri address)
                {
-                       return request.GetResponse ();
+                       return SetupRequest (address);
                }
 
-               protected virtual WebResponse GetWebResponse (WebRequest request, IAsyncResult result)
+#if NET_2_0
+               protected virtual
+#endif
+               WebResponse GetWebResponse (WebRequest request)
                {
-                       return request.EndGetResponse (result);
+                       WebResponse response = request.GetResponse ();
+                       responseHeaders = response.Headers;
+                       return response;
                }
-#endif
+
        }
 }
+