[asterisk-commits] file: branch 13 r432154 - in /branches/13: res/ res/ari/ rest-api/api-docs/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Sat Feb 21 14:47:22 CST 2015


Author: file
Date: Sat Feb 21 14:47:19 2015
New Revision: 432154

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=432154
Log:
res_ari_channels: Return a 404 response when a requested channel variable does not exist.

This change makes it so that if a channel variable is requested and it does not exist
a 404 response will be returned instead of an allocation failed response. This makes
it easier to debug and figure out what is going on for a user.

ASTERISK-24677 #close
Reported by: Joshua Colp

Modified:
    branches/13/res/ari/resource_channels.c
    branches/13/res/res_ari_channels.c
    branches/13/rest-api/api-docs/channels.json

Modified: branches/13/res/ari/resource_channels.c
URL: http://svnview.digium.com/svn/asterisk/branches/13/res/ari/resource_channels.c?view=diff&rev=432154&r1=432153&r2=432154
==============================================================================
--- branches/13/res/ari/resource_channels.c (original)
+++ branches/13/res/ari/resource_channels.c Sat Feb 21 14:47:19 2015
@@ -1242,6 +1242,11 @@
 
 	ast_assert(response != NULL);
 
+	if (!value) {
+		ast_ari_response_alloc_failed(response);
+		return;
+	}
+
 	if (ast_strlen_zero(args->variable)) {
 		ast_ari_response_error(
 			response, 400, "Bad Request",
@@ -1280,7 +1285,9 @@
 		}
 	} else {
 		if (!ast_str_retrieve_variable(&value, 0, channel, NULL, args->variable)) {
-			ast_ari_response_alloc_failed(response);
+			ast_ari_response_error(
+				response, 404, "Variable Not Found",
+				"Provided variable was not found");
 			return;
 		}
 	}

Modified: branches/13/res/res_ari_channels.c
URL: http://svnview.digium.com/svn/asterisk/branches/13/res/res_ari_channels.c?view=diff&rev=432154&r1=432153&r2=432154
==============================================================================
--- branches/13/res/res_ari_channels.c (original)
+++ branches/13/res/res_ari_channels.c Sat Feb 21 14:47:19 2015
@@ -2173,7 +2173,7 @@
 	case 500: /* Internal Server Error */
 	case 501: /* Not Implemented */
 	case 400: /* Missing variable parameter. */
-	case 404: /* Channel not found */
+	case 404: /* Channel or variable not found */
 	case 409: /* Channel not in a Stasis application */
 		is_valid = 1;
 		break;

Modified: branches/13/rest-api/api-docs/channels.json
URL: http://svnview.digium.com/svn/asterisk/branches/13/rest-api/api-docs/channels.json?view=diff&rev=432154&r1=432153&r2=432154
==============================================================================
--- branches/13/rest-api/api-docs/channels.json (original)
+++ branches/13/rest-api/api-docs/channels.json Sat Feb 21 14:47:19 2015
@@ -1199,7 +1199,7 @@
 						},
 						{
 							"code": 404,
-							"reason": "Channel not found"
+							"reason": "Channel or variable not found"
 						},
 						{
 							"code": 409,




More information about the asterisk-commits mailing list