1
0
mirror of https://github.com/lammertb/libhttp.git synced 2026-01-03 16:02:30 +03:00

Alternative to mg_upload (Step 13/?)

This commit is contained in:
bel
2016-01-14 22:13:18 +01:00
parent 16c02972e4
commit 9c8c2cec44

View File

@@ -22,7 +22,6 @@
/********************/
/* EXPERIMENTAL !!! */
/********************/
#ifdef USE_EXPERIMENTAL
void
mirror_body___dev_helper(struct mg_connection *conn)
@@ -42,24 +41,33 @@ mirror_body___dev_helper(struct mg_connection *conn)
struct mg_form_data_handler {
int (*field_found)(const char *key,
size_t keylen,
const char *value,
size_t vallen,
const char *filename,
int *disposition,
void *user_data);
int (*file_found)(const char *key,
size_t keylen,
const char *filename,
int *disposition,
void *user_data);
void *user_data;
};
static int
field_found(const char *key,
size_t keylen,
const char *value,
size_t vallen,
struct mg_form_data_handler *fdh)
{
/* Call callback */
mg_url_decode(data, (size_t)keylen, ) return field_found(
data, (size_t)keylen, val, (size_t)vallen, fdh->user_data);
}
int
mg_handle_form_data(struct mg_connection *conn,
struct mg_form_data_handler *fdh)
{
const char *content_type;
const char *boundary;
int disposition;
int has_body_data =
(conn->request_info.content_length > 0) || (conn->is_chunked);
@@ -101,6 +109,9 @@ mg_handle_form_data(struct mg_connection *conn,
break;
}
keylen = val - data;
field_found(data, (size_t)keylen, &disposition, fdh);
val++;
next = strchr(val, '&');
if (next) {
@@ -112,8 +123,7 @@ mg_handle_form_data(struct mg_connection *conn,
}
/* Call callback */
fdh->field_found(
data, (size_t)keylen, val, (size_t)vallen, fdh->user_data);
//field_found(data, (size_t)keylen, val, (size_t)vallen, fdh);
/* Proceed to next entry */
data = next;
@@ -206,5 +216,3 @@ mg_handle_form_data(struct mg_connection *conn,
/* Unknown Content-Type */
return 0;
}
#endif