X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-hsrv.c;h=1a4d1ad062dc8d8ca282e6c083f862156c2a6d5d;hb=07999dabb949585b961ef39a3d6d636149fbebec;hp=efa74f4b4443f3424c6a1e6aa7177ca26fc83263;hpb=93d8d6f69399dacbb43c0780ebccc378b4f44880;p=src%2Fapp-framework-binder.git diff --git a/src/afb-hsrv.c b/src/afb-hsrv.c index efa74f4b..1a4d1ad0 100644 --- a/src/afb-hsrv.c +++ b/src/afb-hsrv.c @@ -109,6 +109,7 @@ static int access_handler( struct afb_hsrv *hsrv; struct hsrv_handler *iter; const char *type; + enum json_tokener_error jerr; hsrv = cls; hreq = *recordreq; @@ -179,12 +180,13 @@ static int access_handler( } } else if (hreq->tokener) { hreq->json = json_tokener_parse_ex(hreq->tokener, upload_data, (int)*upload_data_size); - switch (json_tokener_get_error(hreq->tokener)) { - case json_tokener_success: - case json_tokener_continue: - break; - default: - ERROR("error in POST json: %s", json_tokener_error_desc(json_tokener_get_error(hreq->tokener))); + jerr = json_tokener_get_error(hreq->tokener); + if (jerr == json_tokener_continue) { + hreq->json = json_tokener_parse_ex(hreq->tokener, "", 1); + jerr = json_tokener_get_error(hreq->tokener); + } + if (jerr != json_tokener_success) { + ERROR("error in POST json: %s", json_tokener_error_desc(jerr)); afb_hreq_reply_error(hreq, MHD_HTTP_BAD_REQUEST); return MHD_YES; } @@ -235,7 +237,7 @@ static int access_handler( } /* no handler */ - WARNING("Unhandled request to %s", hreq->url); + NOTICE("Unhandled request to %s", hreq->url); afb_hreq_reply_error(hreq, MHD_HTTP_NOT_FOUND); return MHD_YES; }