summaryrefslogtreecommitdiff
path: root/content/fetchers
diff options
context:
space:
mode:
authorAshish Gupta <ashmew2@gmail.com>2017-09-24 23:05:47 +0200
committerAshish Gupta <ashmew2@gmail.com>2017-10-25 22:04:55 +0200
commit46f4ee02c931d476bad36a98d81d01023d8e7697 (patch)
treeba2a67fd21335ce642cb479ff0ee1743e88f8eba /content/fetchers
parent8a94c69a80c18a2226e512a8c2628582476dc6a2 (diff)
downloadnetsurf-46f4ee02c931d476bad36a98d81d01023d8e7697.tar.gz
netsurf-46f4ee02c931d476bad36a98d81d01023d8e7697.tar.bz2
Support urlencoded POST
Diffstat (limited to 'content/fetchers')
-rw-r--r--content/fetchers/httplib_kolibri.c17
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 */