diff src/c/request.c @ 1788:f57983ba2a36

Get regular forms working again
author Adam Chlipala <adam@chlipala.net>
date Sat, 21 Jul 2012 15:34:07 -0400
parents 69daa6d70299
children 77cde56d41b6
line wrap: on
line diff
--- a/src/c/request.c	Sat Jul 21 15:16:57 2012 -0400
+++ b/src/c/request.c	Sat Jul 21 15:34:07 2012 -0400
@@ -246,7 +246,7 @@
   char *inputs;
   const char *prefix = uw_get_url_prefix(ctx);
   char *s;
-  int had_error = 0;
+  int had_error = 0, is_fancy = 0;
   char errmsg[ERROR_BUF_LEN];
 
   uw_reset(ctx);
@@ -284,6 +284,10 @@
     uw_isPost(ctx);
 
     clen_s = uw_Basis_requestHeader(ctx, "Content-type");
+
+    if (!clen_s || strcasecmp(clen_s, "application/x-www-form-urlencoded"))
+      is_fancy = 1;
+
     if (clen_s && !strncasecmp(clen_s, "multipart/form-data", 19)) {
       if (strncasecmp(clen_s + 19, "; boundary=", 11)) {
         log_error(logger_data, "Bad multipart boundary spec");
@@ -295,7 +299,7 @@
       boundary[1] = '-';
       boundary_len = strlen(boundary);
     } else if (clen_s) {
-      uw_Basis_postBody pb = {clen_s, body};
+      uw_Basis_postBody pb = {clen_s, body, body_len};
       uw_postBody(ctx, pb);
     }
   } else if (strcmp(method, "GET")) {
@@ -430,7 +434,7 @@
       }
     }
   }
-  else if (!uw_hasPostBody(ctx)) {
+  else if (!is_fancy) {
     inputs = is_post ? body : query_string;
 
     if (inputs) {