mirror of
https://git.gnunet.org/libmicrohttpd.git
synced 2026-10-01 04:03:18 +03:00
tests/client_server: fixed to match the updated API
This commit is contained in:
1 file changed
+35
-21
@@ -497,16 +497,26 @@ nstrcmp (const char *wants,
|
||||
* This callback is called to incrementally process parsed POST data sent by
|
||||
* the client.
|
||||
*
|
||||
* @param req the request
|
||||
* @param cls user-specified closure
|
||||
* @param name 0-terminated key for the value
|
||||
* @param filename name of the uploaded file, NULL if not known
|
||||
* @param content_type mime-type of the data, NULL if not known
|
||||
* @param encoding the encoding of the data
|
||||
* @param data pointer to @a size bytes of data at the
|
||||
* specified @a off offset,
|
||||
* NOT zero-terminated
|
||||
* @param off offset of data in the overall value
|
||||
* @param size number of bytes in @a data available
|
||||
* @param name the name of the POST field
|
||||
* @param filename the name of the uploaded file, @a cstr member is NULL if not
|
||||
* known / not provided
|
||||
* @param content_type the mime-type of the data, cstr member is NULL if not
|
||||
* known / not provided
|
||||
* @param encoding the encoding of the data, cstr member is NULL if not known /
|
||||
* not provided
|
||||
* @param size the number of bytes in @a data available, may be zero if
|
||||
* the @a final_data is #MHD_YES
|
||||
* @param data the pointer to @a size bytes of data at the specified
|
||||
* @a off offset, NOT zero-terminated
|
||||
* @param off the offset of @a data in the overall value, always equal to
|
||||
* the sum of sizes of previous calls for the same field / file;
|
||||
* client may provide more than one field with the same name and
|
||||
* the same filename, the new filed (or file) is indicated by zero
|
||||
* value of @a off (and the end is indicated by @a final_data)
|
||||
* @param final_data if set to #MHD_YES then full field data is provided,
|
||||
* if set to #MHD_NO then more field data may be provided
|
||||
* @return action specifying how to proceed:
|
||||
* #MHD_upload_action_continue() if all is well,
|
||||
* #MHD_upload_action_suspend() to stop reading the upload until
|
||||
@@ -517,14 +527,16 @@ nstrcmp (const char *wants,
|
||||
* @ingroup action
|
||||
*/
|
||||
static const struct MHD_UploadAction *
|
||||
post_stream_reader (void *cls,
|
||||
post_stream_reader (struct MHD_Request *req,
|
||||
void *cls,
|
||||
const struct MHD_String *name,
|
||||
const struct MHD_StringNullable *filename,
|
||||
const struct MHD_StringNullable *content_type,
|
||||
const struct MHD_StringNullable *encoding,
|
||||
size_t size,
|
||||
const void *data,
|
||||
uint_fast64_t off,
|
||||
size_t size)
|
||||
enum MHD_Bool final_data)
|
||||
{
|
||||
struct MHDT_PostInstructions *pi = cls;
|
||||
struct MHDT_PostWant *wants = pi->wants;
|
||||
@@ -563,7 +575,7 @@ post_stream_reader (void *cls,
|
||||
}
|
||||
}
|
||||
|
||||
return MHD_upload_action_continue (NULL);
|
||||
return MHD_upload_action_continue (req);
|
||||
}
|
||||
|
||||
|
||||
@@ -583,9 +595,10 @@ post_stream_reader (void *cls,
|
||||
* @ingroup request
|
||||
*/
|
||||
static enum MHD_Bool
|
||||
check_complete_value (
|
||||
check_complete_post_value (
|
||||
void *cls,
|
||||
const struct MHD_NameValueKind *nvt)
|
||||
enum MHD_ValueKind kind,
|
||||
const struct MHD_NameAndValue *nv)
|
||||
{
|
||||
struct MHDT_PostInstructions *pi = cls;
|
||||
struct MHDT_PostWant *wants = pi->wants;
|
||||
@@ -601,11 +614,11 @@ check_complete_value (
|
||||
if (want->incremental)
|
||||
continue;
|
||||
if (0 != strcmp (want->key,
|
||||
nvt->nv.name.cstr))
|
||||
nv->name.cstr))
|
||||
continue;
|
||||
if (want->value_size != nvt->nv.value.len)
|
||||
if (want->value_size != nv->value.len)
|
||||
continue;
|
||||
if (0 == memcmp (nvt->nv.value.cstr,
|
||||
if (0 == memcmp (nv->value.cstr,
|
||||
want->value,
|
||||
want->value_size))
|
||||
want->satisfied = true;
|
||||
@@ -619,20 +632,21 @@ check_complete_value (
|
||||
* of the postprocessor upload data.
|
||||
* @param req the request
|
||||
* @param cls the closure
|
||||
* @param parsing_result the result of POST data parsing
|
||||
* @return the action to proceed
|
||||
*/
|
||||
static const struct MHD_UploadAction *
|
||||
post_stream_done (struct MHD_Request *req,
|
||||
void *cls)
|
||||
void *cls,
|
||||
enum MHD_PostParseResult parsing_result)
|
||||
{
|
||||
struct MHDT_PostInstructions *pi = cls;
|
||||
struct MHDT_PostWant *wants = pi->wants;
|
||||
|
||||
MHD_request_get_values_cb (req,
|
||||
MHD_VK_POSTDATA,
|
||||
&check_complete_value,
|
||||
&check_complete_post_value,
|
||||
pi);
|
||||
struct MHDT_PostWant *wants = pi->wants;
|
||||
|
||||
if (NULL != wants)
|
||||
{
|
||||
for (unsigned int i = 0; NULL != wants[i].key; i++)
|
||||
|
||||
Reference in new issue
Block a user