2009-10-23 Alexandre Gomes <alexmipego@gmail.com>
authorAlexandre Gomes <alexmipe@mono-cvs.ximian.com>
Fri, 23 Oct 2009 18:26:49 +0000 (18:26 -0000)
committerAlexandre Gomes <alexmipe@mono-cvs.ximian.com>
Fri, 23 Oct 2009 18:26:49 +0000 (18:26 -0000)
* Test/System.Net/WebClientTest.cs:
* System.Net/WebClient.cs: Fixed GetWebRequest overriding problems, bug:
  https://bugzilla.novell.com/show_bug.cgi?id=549580

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

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

index 9180c3b3319db89b39e7df1742790e6c1c7d552d..978f54a44acb116ea729a0ac36335539283726ef 100644 (file)
@@ -1,3 +1,8 @@
+2009-10-23  Alexandre Gomes  <alexmipego@gmail.com>
+
+       * WebClient.cs: Fixed GetWebRequest overriding problems, bug: 
+         https://bugzilla.novell.com/show_bug.cgi?id=549580
+         
 2009-10-17 Gonzalo Paniagua Javier <gonzalo@novell.com>
 
        * WebConnectionStream.cs: add 3 missing DoCallback() calls in
index 18a9b48881c1ec3133ecf9c16e209f8887f90d6b..6018c73b36c488cd9fcfc505a6905fc5060b5fd3 100644 (file)
@@ -938,7 +938,7 @@ namespace System.Net
                
                WebRequest SetupRequest (Uri uri)
                {
-                       WebRequest request = WebRequest.Create (uri);
+                       WebRequest request = GetWebRequest (uri);
 #if NET_2_0
                        if (Proxy != null)
                                request.Proxy = Proxy;
@@ -1553,7 +1553,7 @@ namespace System.Net
 #endif
                WebRequest GetWebRequest (Uri address)
                {
-                       return SetupRequest (address);
+                       return WebRequest.Create (address);
                }
 
 #if NET_2_0
index 9f6ddd3754cb58d2e6f6096e4acc4c29eb5df605..831078775d0700c853e488c8546ee9c886f442a4 100644 (file)
@@ -1,3 +1,8 @@
+2009-10-23  Alexandre Gomes  <alexmipego@gmail.com>
+
+       * WebClientTest.cs: Test for GetWebRequest overriding
+         issues
+         
 2009-07-22 Gonzalo Paniagua Javier <gonzalo@novell.com>
 
        * WebHeaderCollectionTest.cs: test for allowed characters in headers.
index ea87f0aa38b47d31029067abc4466ecd0978cfe6..84954f9be4c0b094513346263f1c7eb1debc5680 100644 (file)
@@ -2034,6 +2034,27 @@ namespace MonoTests.System.Net
                }
 #endif
 
+#if NET_2_0
+               [Test]
+               public void GetWebRequestOverriding ()
+               {
+                       GetWebRequestOverridingTestClass testObject = new GetWebRequestOverridingTestClass ();
+                       testObject.DownloadData ("http://www.mono-project.com");
+
+                       Assert.IsTrue (testObject.overridedCodeRan, "Overrided code wasn't called");
+               }
+               
+               class GetWebRequestOverridingTestClass : WebClient
+               {
+                       internal bool overridedCodeRan = false;
+                       protected override WebRequest GetWebRequest(Uri address)
+                       {
+                               overridedCodeRan = true;
+                               return base.GetWebRequest (address);
+                       }
+               }
+#endif
+
                static byte [] EchoRequestHandler (Socket socket)
                {
                        MemoryStream ms = new MemoryStream ();