tests/soup.js
[gitlive] / tests / soup.js
index 23fd0c0..41e2bdc 100644 (file)
@@ -74,6 +74,8 @@ XObject.extend(XMLHttpRequest,{
     
     
     _message : false,
+    _session : false,
+    _async   : false,
     
     // request
     open : function ( method,  url, async, user, password)
@@ -82,17 +84,19 @@ XObject.extend(XMLHttpRequest,{
         user = user || false;
         password = password || false;
         
-        
+        this._session = async ?  new Soup.SessionAsync() : new Soup.SessionSync();
+
         var uri = new Soup.URI.c_new(url);
         this._message = new Soup.Message({method: method, uri:uri});
-        
+        this._async = async;
 
         
     },
     
     setRequestHeader : function ( header,  value)
     {
-           
+        _this.message.request_headers.append(headers, value)
+
     },
     overrideMimeType : function ( mime)
     {
@@ -100,7 +104,18 @@ XObject.extend(XMLHttpRequest,{
     },
     send  : function(data)
     {
-        msg.set_request('application/x-www-form-urlencoded', Soup.MemoryUse.COPY, data, data.length)
+        this._message.set_request('application/x-www-form-urlencoded', Soup.MemoryUse.COPY, data, data.length)
+        
+        if (this._async) {
+            this._session.queue_message(this._message, function() {
+                // got some data... fire some evetns.
+            })
+            
+        }
+        var status = this._session.send_message(this._message);
+        this.responseText = msg.response_body.data;
+        this.status = 4;
+        return status;
 
     },
     abort : function()