Mercurial > urweb
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) {