Author: jbevain
Date: 2007-11-08 15:56:29 -0500 (Thu, 08 Nov 2007)
New Revision: 89253

Modified:
   
trunk/olive/class/System.Silverlight/System.Windows.Browser.Net/BrowserHttpWebRequest.cs
   
trunk/olive/class/System.Silverlight/System.Windows.Browser.Net/BrowserHttpWebResponse.cs
   trunk/olive/class/System.Silverlight/System.Windows.Browser.Net/ChangeLog
Log:
2007-11-08  Jb Evain  <[EMAIL PROTECTED]>

        * BrowserHttpWebRequest.cs
        * BrowserHttpWebResponse.cs: implement response properties.



Modified: 
trunk/olive/class/System.Silverlight/System.Windows.Browser.Net/BrowserHttpWebRequest.cs
===================================================================
--- 
trunk/olive/class/System.Silverlight/System.Windows.Browser.Net/BrowserHttpWebRequest.cs
    2007-11-08 20:55:43 UTC (rev 89252)
+++ 
trunk/olive/class/System.Silverlight/System.Windows.Browser.Net/BrowserHttpWebRequest.cs
    2007-11-08 20:56:29 UTC (rev 89253)
@@ -137,7 +137,7 @@
 
                void OnAsyncResponseAvailable (IntPtr native, IntPtr context)
                {
-                       async_result.Response = new BrowserHttpWebResponse 
(native);
+                       async_result.Response = new BrowserHttpWebResponse 
(this, native);
                        async_result.SetComplete ();
                }
 
@@ -194,7 +194,7 @@
                        if (resp == IntPtr.Zero)
                                throw new InvalidOperationException ();
 
-                       response = new BrowserHttpWebResponse (resp);
+                       response = new BrowserHttpWebResponse (this, resp);
                        response.Read ();
 
                        return response;

Modified: 
trunk/olive/class/System.Silverlight/System.Windows.Browser.Net/BrowserHttpWebResponse.cs
===================================================================
--- 
trunk/olive/class/System.Silverlight/System.Windows.Browser.Net/BrowserHttpWebResponse.cs
   2007-11-08 20:55:43 UTC (rev 89252)
+++ 
trunk/olive/class/System.Silverlight/System.Windows.Browser.Net/BrowserHttpWebResponse.cs
   2007-11-08 20:56:29 UTC (rev 89253)
@@ -39,6 +39,7 @@
 {
        class BrowserHttpWebResponse : HttpWebResponse
        {
+               BrowserHttpWebRequest request;
                IntPtr native;
                Stream response;
 
@@ -47,8 +48,9 @@
 
                WebHeaderCollection headers = new WebHeaderCollection ();
 
-               public BrowserHttpWebResponse (IntPtr native)
+               public BrowserHttpWebResponse (BrowserHttpWebRequest request, 
IntPtr native)
                {
+                       this.request = request;
                        this.native = native;
 
                        if (native == IntPtr.Zero)
@@ -67,7 +69,7 @@
 
                void OnHttpHeader (string name, string value)
                {
-                       // TODO: add them to headers
+                       headers [name] = value;
                }
 
                public override void Close ()
@@ -91,10 +93,9 @@
                        response = new MemoryStream (data);
                }
 
-               [MonoTODO]
                public override string GetResponseHeader (string headerName)
                {
-                       throw new NotImplementedException ();
+                       return headers [headerName];
                }
 
                public override Stream GetResponseStream ()
@@ -102,53 +103,44 @@
                        return response;
                }
 
-               [MonoTODO]
                public override string CharacterSet {
                        get { throw new NotImplementedException (); }
                }
 
-               [MonoTODO]
                public override string ContentEncoding {
-                       get {  throw new NotImplementedException (); }
+                       get { return headers 
[HttpResponseHeader.ContentEncoding]; }
                }
 
-               [MonoTODO]
                public override long ContentLength {
-                       get { throw new NotImplementedException (); }
+                       get { return long.Parse (headers 
[HttpResponseHeader.ContentLength], NumberStyles.Integer, 
CultureInfo.InvariantCulture);; }
                }
 
-               [MonoTODO]
                public override string ContentType {
-                       get { throw new NotImplementedException (); }
+                       get { return headers [HttpResponseHeader.ContentType]; }
                }
 
                public override WebHeaderCollection Headers {
                        get { return headers; }
                }
 
-               [MonoTODO]
                public override DateTime LastModified {
-                       get { throw new NotImplementedException (); }
+                       get { return DateTime.Parse (headers 
[HttpResponseHeader.ContentLength], CultureInfo.InvariantCulture); }
                }
 
-               [MonoTODO]
                public override string Method {
-                       get { throw new NotImplementedException (); }
+                       get { return request.Method; }
                }
 
-               [MonoTODO]
                public override Version ProtocolVersion {
                        get { throw new NotImplementedException (); }
                }
 
-               [MonoTODO]
                public override Uri ResponseUri {
-                       get { throw new NotImplementedException (); }
+                       get { return request.RequestUri; }
                }
 
-               [MonoTODO]
                public override string Server {
-                       get { throw new NotImplementedException (); }
+                       get { return headers [HttpResponseHeader.Server]; }
                }
 
                void GetStatus ()

Modified: 
trunk/olive/class/System.Silverlight/System.Windows.Browser.Net/ChangeLog
===================================================================
--- trunk/olive/class/System.Silverlight/System.Windows.Browser.Net/ChangeLog   
2007-11-08 20:55:43 UTC (rev 89252)
+++ trunk/olive/class/System.Silverlight/System.Windows.Browser.Net/ChangeLog   
2007-11-08 20:56:29 UTC (rev 89253)
@@ -1,5 +1,10 @@
 2007-11-08  Jb Evain  <[EMAIL PROTECTED]>
 
+       * BrowserHttpWebRequest.cs
+       * BrowserHttpWebResponse.cs: implement response properties.
+
+2007-11-08  Jb Evain  <[EMAIL PROTECTED]>
+
        * BrowserHttpWebRequest.cs: throw on invalid requests.
 
 2007-11-08  Jb Evain  <[EMAIL PROTECTED]>

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to