diff options
author | Ashish Gupta <ashmew2@gmail.com> | 2017-09-24 23:05:47 +0200 |
---|---|---|
committer | Ashish Gupta <ashmew2@gmail.com> | 2017-10-25 22:04:55 +0200 |
commit | 46f4ee02c931d476bad36a98d81d01023d8e7697 (patch) | |
tree | ba2a67fd21335ce642cb479ff0ee1743e88f8eba | |
parent | 8a94c69a80c18a2226e512a8c2628582476dc6a2 (diff) | |
download | netsurf-46f4ee02c931d476bad36a98d81d01023d8e7697.tar.gz netsurf-46f4ee02c931d476bad36a98d81d01023d8e7697.tar.bz2 |
Support urlencoded POST
-rw-r--r-- | content/fetchers/httplib_kolibri.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/content/fetchers/httplib_kolibri.c b/content/fetchers/httplib_kolibri.c index 4cbdcdca6..8ca718061 100644 --- a/content/fetchers/httplib_kolibri.c +++ b/content/fetchers/httplib_kolibri.c @@ -108,7 +108,9 @@ void *setup_fetch(struct fetch *parent_fetch, struct nsurl *url, LOG("[SETUP] Our target URL: %s", nsurl_access(url)); LOG("[SETUP] POST urlencoded data: %s", post_urlenc); - LOG("[SETUP] Headers : %s", *headers); + int i = 0; + for(i = 0; headers[i] != NULL; i++) + LOG("[SETUP] -- Headers : %s", headers[i]); struct fetch_multipart_data *printer = post_multipart; @@ -117,12 +119,21 @@ void *setup_fetch(struct fetch *parent_fetch, struct nsurl *url, printer = printer->next; } - if(post_multipart != NULL) + if(post_multipart != NULL) { LOG("[WARNING] We dont support POST multipart yet!\n"); + __asm__ __volatile__("int3"); + } if(post_urlenc) { LOG("http_post: %s", nsurl_access(url)); - request = http_post_asm(nsurl_access(url), NULL, 0, *headers, post_urlenc, strlen(post_urlenc)); + request = http_post_asm(nsurl_access(url), NULL, 0, *headers, "application/x-www-form-urlencoded", strlen(post_urlenc)); + if(request != NULL) { + int datasent = 0; + /* Send all the data here itself. Move this later to polling maybe. */ + debug_board_printf("--- Sending data : %s with length %u\n", post_urlenc, strlen(post_urlenc)); + datasent = http_send_asm(request, post_urlenc, strlen(post_urlenc)); + debug_board_printf("--- Sent %d bytes of data.\n", datasent); + } } else { /* Do a GET */ |