-// WARNING: PostForm callback are call multiple time (one or each key within form)
-// When processing POST_JSON request->data hold a PostHandle and not data directly as for POST_JSON
-STATIC json_object* ProcessPostForm (AFB_request *request, AFB_PostItem *item) {
-
- AFB_PostHandle *postHandle;
- appPostCtx *appCtx;
- char filepath[512];
-
- // When Post is fully processed the same callback is call with a item==NULL
- if (item == NULL) {
- // Close file, Free handle
-
- request->errcode = MHD_HTTP_OK;
- return(jsonNewMessage(AFB_SUCCESS,"File [%s] uploaded at [%s] error=\n", item->filename, request->config->sessiondir));
- }
-
- // Let's make sure this is a valid PostForm request
- if (!request->post && request->post->type != AFB_POST_FORM) {
- request->errcode = MHD_HTTP_FORBIDDEN;
- return(jsonNewMessage(AFB_FAIL,"This is not a valid PostForm request\n"));
- } else {
- // In AFB_POST_FORM case post->data is a PostForm handle
- postHandle = (AFB_PostHandle*) request->post->data;
- appCtx = (appPostCtx*) postHandle->ctx;
- }
-
- // Check this is a file element
- if (0 != strcmp (item->key, "file")) {
- request->errcode = MHD_HTTP_FORBIDDEN;
- return (jsonNewMessage(AFB_FAIL,"No File within element key=%s\n", item->key));
- }
-
- // This is the 1st Item iteration let's open output file and allocate necessary resources
- if (postHandle->ctx == NULL) {
- int fd;
-
- strncpy (filepath, request->config->sessiondir, sizeof(filepath));
- strncat (filepath, "/", sizeof(filepath));
- strncat (filepath, item->filename, sizeof(filepath));
+ arg = afb_req_get(request, "");
+ jresp = arg.value ? json_tokener_parse(arg.value) : NULL;
+ afb_req_success_f(request, jresp, "GetJsonByPost query={%s}", json_object_to_json_string(query));
+}