public string project_id_name;
- public void loadTickets()
+ static public void loadTickets()
{
var url = "https://roojs.com/admin.php/Roo/mtrack_ticket");
var message = new Soup.Message ("GET", url);
- this.bee.auth.newRequest(session, message);
+ this.setAuth(message);
session.send_message (message);
- return (string) message.response_body.flatten().data;
+ var data = (string) message.response_body.flatten().data;
+ GLib.debug("got %s", data);
+ try {
+ parser = new Json.Parser ();
+ parser.load_from_data (data, -1);
+
+ response = parser.get_root().get_object();
+ status = response.get_boolean_member("success");
+
+ if(!status){
+ GLib.error(response.get_string_member("errorMsg"));
+ }
+
+ } catch (Error e) {
+ GLib.error(e.message);
+ }
+
}
- public void setAuth(session, message) {
+ static public void setAuth(message) {
string str;
+ var username = "";
+ var password = "";
GLib.FileUtils.get_contents(GLib.Environment.get_home_dir() + "/.netrc"), out str);
var lines = str.split("\n");
for(var i=0; i< lines.length; i++) {
// assumes one line per entry.. if not we are buggered...
var bits = Regex.split_simple ("[ \t]+", line[i].strip());
- if (bits.length < 7 || bits[0] != "machine") {
+ if (bits.length < 7 || bits[0] != "machine" || bits[1] != "git.roojs.com") {
continue;
}
+ // we are gussing....
+ username = bits[3];
+ password = bits[5];
}
+ var authCode = Base64.encode ("%s:%s".printf(username), password)).data);
+ message.request_headers.append("Authorization", "Basic %s".printf(authCode));
}