tests/soup.js
[gitlive] / tests / soup.js
index 4b8d195..80a76dd 100644 (file)
@@ -1,23 +1,52 @@
 #!/usr/bin/env seed
 
 Soup = imports.gi.Soup;
+GLib = imports.gi.GLib;
 
 var session = new Soup.SessionSync();
+File  = imports['../File.js'].File;
+
+var netrc = File.read(GLib.get_home_dir() + "/.netrc");
+var authdata = {};
+netrc.split("\n").forEach(function(nl) {
+    var line = {};
+    var k = false
+     
+    nl.replace(/\s+$/,'').replace(/^\s+/,'').split(/\s+/).forEach(function(kv) {
+      
+        if (!k) {
+            k = kv;
+            return
+        }
+        line[k] = kv
+        k = false;
+   });
+       
+   authdata[line.machine] = line;
+    
+});
+// Soup.URI is a struct.
+var uri = new Soup.URI.c_new("http://www.roojs.com/admin.php/Events");
+//var uri = new Soup.URI.c_new("http://www.roojs.com/head.php");
 
+var msg = new Soup.Message({method:"POST", uri:uri});
+//var msg = new Soup.Message({method:"GET", uri:uri});
 
+// post..
+buftxt =  "remarks=test";
+var buf = new Soup.Buffer.c_new(buftxt, buftxt.length);
+msg.request_body.append_buffer(buf);
 
 
-// Soup.URI is a struct.
-var uri = new Soup.URI.c_new("http://www.roojs.com/admin.php/Roo/person");
-var msg = new Soup.Message({method:"GET", uri:uri});
-
 var auth = new Soup.Auth.c_new(Soup.AuthBasic.type, msg, "Basic realm=\"Test\"");
 print(auth);
 print(auth.authenticate);
-auth.authenticate('aaaa','bbbb');
+var authvals = authdata['git.roojs.com'];
+auth.authenticate(authvals.login ,authvals.password);
 var authmsg = auth.get_authorization(msg);
-
-msg.request_headers.append('Authorization', authmsg + '==')
+print(authmsg);
+msg.request_headers.append('Authorization', authmsg)
 
 //request.headers_append...
 var status = session.send_message(msg);
@@ -27,4 +56,4 @@ var status = session.send_message(msg);
 //)
 print(status);
 
-//print(msg.response_body.data);
+print(msg.response_body.data);