diff options
Diffstat (limited to 'rest-api-templates')
-rw-r--r-- | rest-api-templates/param_parsing.mustache | 12 | ||||
-rw-r--r-- | rest-api-templates/res_ari_resource.c.mustache | 10 |
2 files changed, 16 insertions, 6 deletions
diff --git a/rest-api-templates/param_parsing.mustache b/rest-api-templates/param_parsing.mustache index 59c59e958..aabd728fd 100644 --- a/rest-api-templates/param_parsing.mustache +++ b/rest-api-templates/param_parsing.mustache @@ -36,8 +36,16 @@ goto fin; } - args.{{c_name}}_count = ast_app_separate_args( - args.{{c_name}}_parse, ',', vals, ARRAY_LEN(vals)); + if (strlen(args.{{c_name}}_parse) == 0) { + /* ast_app_separate_args can't handle "" */ + args.{{c_name}}_count = 1; + vals[0] = args.{{c_name}}_parse; + } else { + args.{{c_name}}_count = ast_app_separate_args( + args.{{c_name}}_parse, ',', vals, + ARRAY_LEN(vals)); + } + if (args.{{c_name}}_count == 0) { ast_ari_response_alloc_failed(response); goto fin; diff --git a/rest-api-templates/res_ari_resource.c.mustache b/rest-api-templates/res_ari_resource.c.mustache index 906d55f0d..e6b2a88f4 100644 --- a/rest-api-templates/res_ari_resource.c.mustache +++ b/rest-api-templates/res_ari_resource.c.mustache @@ -174,14 +174,16 @@ fin: __attribute__((unused)) * negotiation. Param parsing should happen earlier, but we * need a way to pass it through the WebSocket code to the * callback */ - RAII_VAR(char *, msg, NULL, ast_free); + RAII_VAR(char *, msg, NULL, ast_json_free); if (response->message) { msg = ast_json_dump_string(response->message); } else { - msg = ast_strdup("?"); + ast_log(LOG_ERROR, "Missing response message\n"); + } + if (msg) { + ast_websocket_write(ws_session, + AST_WEBSOCKET_OPCODE_TEXT, msg, strlen(msg)); } - ast_websocket_write(ws_session, AST_WEBSOCKET_OPCODE_TEXT, msg, - strlen(msg)); } {{> param_cleanup}} } |