summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Reichel <sre@ring0.de>2012-04-30 15:37:15 +0200
committerSebastian Reichel <sre@ring0.de>2012-04-30 15:37:15 +0200
commit3db0f84468ac77baf1fe5cfb1c1a766a629cb7f1 (patch)
tree97c4aa5ea654546669b7051e81f7ee7d4ee6a00f
parente11159a036ddfc88ab9841a874e4b631d74f5876 (diff)
downloadserial-barcode-scanner-3db0f84468ac77baf1fe5cfb1c1a766a629cb7f1.tar.bz2
add POST data to web requests
-rw-r--r--web.vala39
1 files changed, 27 insertions, 12 deletions
diff --git a/web.vala b/web.vala
index 45dab4a..5f3e1e1 100644
--- a/web.vala
+++ b/web.vala
@@ -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 */
}