mirror of
https://github.com/lammertb/libhttp.git
synced 2025-07-29 21:01:13 +03:00
Alternative to mg_upload (Step 12/?)
This commit is contained in:
@ -177,6 +177,13 @@ field_found(const char *key,
|
||||
size_t vallen,
|
||||
void *user_data)
|
||||
{
|
||||
struct mg_connection *conn = (struct mg_connection *)user_data;
|
||||
|
||||
mg_write(conn, key, keylen);
|
||||
mg_printf(conn, " = ");
|
||||
mg_write(conn, value, vallen);
|
||||
mg_printf(conn, "\r\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -192,6 +199,9 @@ FormHandler(struct mg_connection *conn, void *cbdata)
|
||||
/* TODO: Checks before calling handle_form_data ? */
|
||||
(void)req_info;
|
||||
|
||||
mg_printf(conn, "HTTP/1.0 200 OK\r\nContent-Type: text/plain\r\n\r\n");
|
||||
fdh.user_data = (void *)conn;
|
||||
|
||||
/* TODO: Handle the return value */
|
||||
ret = mg_handle_form_data(conn, &fdh);
|
||||
|
||||
|
@ -108,6 +108,7 @@ mg_handle_form_data(struct mg_connection *conn,
|
||||
next++;
|
||||
} else {
|
||||
vallen = strlen(val);
|
||||
next = val + vallen;
|
||||
}
|
||||
|
||||
/* Call callback */
|
||||
@ -115,7 +116,7 @@ mg_handle_form_data(struct mg_connection *conn,
|
||||
data, (size_t)keylen, val, (size_t)vallen, fdh->user_data);
|
||||
|
||||
/* Proceed to next entry */
|
||||
data = val + vallen;
|
||||
data = next;
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -135,7 +136,7 @@ mg_handle_form_data(struct mg_connection *conn,
|
||||
int buf_fill = 0;
|
||||
|
||||
for (;;) {
|
||||
|
||||
/* TODO(high): Handle (text) fields with data > sizeof(buf). */
|
||||
const char *val;
|
||||
const char *next;
|
||||
ptrdiff_t keylen, vallen;
|
||||
|
Reference in New Issue
Block a user