summaryrefslogtreecommitdiff
path: root/res/ari/resource_channels.c
diff options
context:
space:
mode:
Diffstat (limited to 'res/ari/resource_channels.c')
-rw-r--r--res/ari/resource_channels.c19
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",