diff options
author | Sebastian Reichel <sre@ring0.de> | 2012-04-30 15:37:15 +0200 |
---|---|---|
committer | Sebastian Reichel <sre@ring0.de> | 2012-04-30 15:37:15 +0200 |
commit | 3db0f84468ac77baf1fe5cfb1c1a766a629cb7f1 (patch) | |
tree | 97c4aa5ea654546669b7051e81f7ee7d4ee6a00f | |
parent | e11159a036ddfc88ab9841a874e4b631d74f5876 (diff) | |
download | serial-barcode-scanner-3db0f84468ac77baf1fe5cfb1c1a766a629cb7f1.tar.bz2 |
add POST data to web requests
-rw-r--r-- | web.vala | 39 |
1 files changed, 27 insertions, 12 deletions
@@ -4,36 +4,51 @@ public class Web { uint64 user = 0; public Web() { - session = new Soup.SessionAsync (); + session = new Soup.SessionAsync(); + var cookies = new Soup.CookieJar(); + session.add_feature(cookies); } public void login(uint64 id) { - var message = new Soup.Message ("GET", server+"/login"); - session.send_message (message); + //stdout.printf("login: %llu\n", id); - stdout.printf("login: %llu\n", id); + var message = new Soup.Message("POST", server+"/login"); + var post_data = "userid=%llu".printf(id); + message.set_request("application/x-www-form-urlencoded", Soup.MemoryUse.COPY, post_data.data); + session.send_message(message); + + stdout.write(message.response_body.data); + stdout.printf("\n"); /* on success */ this.user = id; } public void logout() { - if(this.user != 0) { - var message = new Soup.Message ("GET", server+"/logout"); - session.send_message (message); + if(this.is_logged_in()) { + //stdout.printf("logout\n", id); + + var message = new Soup.Message("GET", server+"/logout"); + session.send_message(message); - stdout.printf("logout: %llu\n", this.user); + stdout.write(message.response_body.data); + stdout.printf("\n"); this.user = 0; } } public void buy(uint64 article) { - if(this.user > 0) { - var message = new Soup.Message ("GET", server+"/buy"); - session.send_message (message); + if(this.is_logged_in()) { + //stdout.printf(" buy: %llu\n", article); + + var message = new Soup.Message("POST", server+"/buy"); + var post_data = "article=%llu".printf(article); + message.set_request("application/x-www-form-urlencoded", Soup.MemoryUse.COPY, post_data.data); + session.send_message(message); - stdout.printf(" product: %llu\n", article); + stdout.write(message.response_body.data); + stdout.printf("\n"); } else { /* not logged into the system */ } |