diff options
Diffstat (limited to 'res/ari/resource_channels.c')
-rw-r--r-- | res/ari/resource_channels.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/res/ari/resource_channels.c b/res/ari/resource_channels.c index dd323bac5..29ceb778f 100644 --- a/res/ari/resource_channels.c +++ b/res/ari/resource_channels.c @@ -648,8 +648,16 @@ void ast_ari_get_channel_var(struct ast_variable *headers, struct ast_get_channe ast_assert(response != NULL); + if (ast_strlen_zero(args->variable)) { + ast_ari_response_error( + response, 400, "Bad Request", + "Variable name is required"); + return; + } + control = find_control(response, args->channel_id); if (control == NULL) { + /* response filled in by find_control */ return; } @@ -669,11 +677,6 @@ void ast_ari_set_channel_var(struct ast_variable *headers, struct ast_set_channe ast_assert(response != NULL); - control = find_control(response, args->channel_id); - if (control == NULL) { - return; - } - if (ast_strlen_zero(args->variable)) { ast_ari_response_error( response, 400, "Bad Request", @@ -681,6 +684,12 @@ void ast_ari_set_channel_var(struct ast_variable *headers, struct ast_set_channe return; } + control = find_control(response, args->channel_id); + if (control == NULL) { + /* response filled in by find_control */ + return; + } + if (stasis_app_control_set_channel_var(control, args->variable, args->value)) { ast_ari_response_error( response, 400, "Bad Request", |