[Asterisk-code-review] res_ari: Fix create request body parameter parsing. (asterisk[master])

Friendly Automation asteriskteam at digium.com
Tue Jun 9 09:09:36 CDT 2020


Friendly Automation has submitted this change. ( https://gerrit.asterisk.org/c/asterisk/+/14510 )

Change subject: res_ari: Fix create request body parameter parsing.
......................................................................

res_ari: Fix create request body parameter parsing.

If parameters were passed in the body as JSON to the
create route they were not being parsed before checking
to ensure that required fields were set.

This change moves the parsing so it occurs before
checking.

ASTERISK-28940

Change-Id: I898b4c3c7ae1cde19a6840e59f498822701cf5cf
---
M res/ari/resource_channels.c
1 file changed, 12 insertions(+), 12 deletions(-)

Approvals:
  Joshua Colp: Looks good to me, but someone else must approve
  George Joseph: Looks good to me, approved
  Friendly Automation: Approved for Submit



diff --git a/res/ari/resource_channels.c b/res/ari/resource_channels.c
index e59c74f..6c1b8e5 100644
--- a/res/ari/resource_channels.c
+++ b/res/ari/resource_channels.c
@@ -1794,18 +1794,6 @@
 	struct ast_format_cap *request_cap;
 	struct ast_channel *originator;
 
-	if (!ast_strlen_zero(args->originator) && !ast_strlen_zero(args->formats)) {
-		ast_ari_response_error(response, 400, "Bad Request",
-			"Originator and formats can't both be specified");
-		return;
-	}
-
-	if (ast_strlen_zero(args->endpoint)) {
-		ast_ari_response_error(response, 400, "Bad Request",
-			"Endpoint must be specified");
-		return;
-	}
-
 	/* Parse any query parameters out of the body parameter */
 	if (args->variables) {
 		struct ast_json *json_variables;
@@ -1818,6 +1806,18 @@
 		}
 	}
 
+	if (!ast_strlen_zero(args->originator) && !ast_strlen_zero(args->formats)) {
+		ast_ari_response_error(response, 400, "Bad Request",
+			"Originator and formats can't both be specified");
+		return;
+	}
+
+	if (ast_strlen_zero(args->endpoint)) {
+		ast_ari_response_error(response, 400, "Bad Request",
+			"Endpoint must be specified");
+		return;
+	}
+
 	chan_data = ast_calloc(1, sizeof(*chan_data));
 	if (!chan_data) {
 		ast_ari_response_alloc_failed(response);

-- 
To view, visit https://gerrit.asterisk.org/c/asterisk/+/14510
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings

Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Change-Id: I898b4c3c7ae1cde19a6840e59f498822701cf5cf
Gerrit-Change-Number: 14510
Gerrit-PatchSet: 3
Gerrit-Owner: sungtae kim <pchero21 at gmail.com>
Gerrit-Reviewer: Friendly Automation
Gerrit-Reviewer: George Joseph <gjoseph at digium.com>
Gerrit-Reviewer: Joshua Colp <jcolp at sangoma.com>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20200609/dbd5502b/attachment-0001.html>


More information about the asterisk-code-review mailing list