2003-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
[mono.git] / mcs / class / System.Web / System.Web / HttpWriter.cs
index 55e62ac2842b041f01ec5a0b015b331ef803152e..060049de082b1908c3f4b7c2147612476e53a83e 100644 (file)
@@ -72,7 +72,8 @@ namespace System.Web
                        FlushBuffers ();
 
                        // Save our current data
-                       byte [] arrData = _OutputStream.ToArray ();
+                       byte [] arrData = _OutputStream.GetBuffer ();
+                       int size = (int) _OutputStream.Length;
 
                        // Remove our internal data
                        Clear ();
@@ -82,7 +83,8 @@ namespace System.Web
 
                        try {
                                // Call the filter (it does a callback into our HttpWriter again)
-                               _OutputFilter.Write (arrData, 0, arrData.Length);
+                               _OutputFilter.Write (arrData, 0, size);
+                               _OutputFilter.Flush ();
 
                                if (CloseStream)
                                        _OutputFilter.Close ();
@@ -107,7 +109,7 @@ namespace System.Web
 
                        int l = (int)_OutputStream.Length;
                        if (l > 0) {
-                               byte [] arrContent = _OutputStream.ToArray ();
+                               byte [] arrContent = _OutputStream.GetBuffer ();
                                Handler.SendResponseFromMemory (arrContent, l);
                        }
                }
@@ -151,8 +153,6 @@ namespace System.Web
 
                public override void Flush ()
                {
-                       FlushBuffers ();
-                       _Response.Flush ();
                }
 
                private void CheckIfFlush ()