[asterisk-commits] dlee: branch dlee/ASTERISK-22036 r396735 - in /team/dlee/ASTERISK-22036: res/...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Aug 15 10:17:29 CDT 2013


Author: dlee
Date: Thu Aug 15 10:17:27 2013
New Revision: 396735

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=396735
Log:
Expanded error responses for bridge operations

Modified:
    team/dlee/ASTERISK-22036/res/ari/resource_bridges.c
    team/dlee/ASTERISK-22036/res/res_ari_bridges.c
    team/dlee/ASTERISK-22036/rest-api/api-docs/bridges.json

Modified: team/dlee/ASTERISK-22036/res/ari/resource_bridges.c
URL: http://svnview.digium.com/svn/asterisk/team/dlee/ASTERISK-22036/res/ari/resource_bridges.c?view=diff&rev=396735&r1=396734&r2=396735
==============================================================================
--- team/dlee/ASTERISK-22036/res/ari/resource_bridges.c (original)
+++ team/dlee/ASTERISK-22036/res/ari/resource_bridges.c Thu Aug 15 10:17:27 2013
@@ -98,6 +98,15 @@
 
 	control = stasis_app_control_find_by_channel_id(channel_id);
 	if (control == NULL) {
+		/* Distinguish between 400 and 422 errors */
+		RAII_VAR(struct ast_channel *, chan, NULL, ao2_cleanup);
+		chan = ast_channel_get_by_name(channel_id);
+		if (chan == NULL) {
+			ast_ari_response_error(response, 400, "Bad Request",
+				   "Channel not found");
+			return NULL;
+		}
+
 		ast_ari_response_error(response, 422, "Unprocessable Entity",
 			"Channel not in Stasis application");
 		return NULL;

Modified: team/dlee/ASTERISK-22036/res/res_ari_bridges.c
URL: http://svnview.digium.com/svn/asterisk/team/dlee/ASTERISK-22036/res/res_ari_bridges.c?view=diff&rev=396735&r1=396734&r2=396735
==============================================================================
--- team/dlee/ASTERISK-22036/res/res_ari_bridges.c (original)
+++ team/dlee/ASTERISK-22036/res/res_ari_bridges.c Thu Aug 15 10:17:27 2013
@@ -345,9 +345,10 @@
 		break;
 	case 500: /* Internal Server Error */
 	case 501: /* Not Implemented */
+	case 400: /* Channel not found */
 	case 404: /* Bridge not found */
 	case 409: /* Bridge not in Stasis application */
-	case 422: /* Channel not found, or not in Stasis application */
+	case 422: /* Channel not in Stasis application */
 		is_valid = 1;
 		break;
 	default:
@@ -444,6 +445,10 @@
 		break;
 	case 500: /* Internal Server Error */
 	case 501: /* Not Implemented */
+	case 400: /* Channel not found */
+	case 404: /* Bridge not found */
+	case 409: /* Bridge not in Stasis application */
+	case 422: /* Channel not in this bridge */
 		is_valid = 1;
 		break;
 	default:

Modified: team/dlee/ASTERISK-22036/rest-api/api-docs/bridges.json
URL: http://svnview.digium.com/svn/asterisk/team/dlee/ASTERISK-22036/rest-api/api-docs/bridges.json?view=diff&rev=396735&r1=396734&r2=396735
==============================================================================
--- team/dlee/ASTERISK-22036/rest-api/api-docs/bridges.json (original)
+++ team/dlee/ASTERISK-22036/rest-api/api-docs/bridges.json Thu Aug 15 10:17:27 2013
@@ -131,6 +131,10 @@
 					],
 					"errorResponses": [
 						{
+							"code": 400,
+							"reason": "Channel not found"
+						},
+						{
 							"code": 404,
 							"reason": "Bridge not found"
 						},
@@ -140,7 +144,7 @@
 						},
 						{
 							"code": 422,
-							"reason": "Channel not found, or not in Stasis application"
+							"reason": "Channel not in Stasis application"
 						}
 					]
 				}
@@ -171,6 +175,24 @@
 							"required": true,
 							"allowMultiple": true,
 							"dataType": "string"
+						}
+					],
+					"errorResponses": [
+						{
+							"code": 400,
+							"reason": "Channel not found"
+						},
+						{
+							"code": 404,
+							"reason": "Bridge not found"
+						},
+						{
+							"code": 409,
+							"reason": "Bridge not in Stasis application"
+						},
+						{
+							"code": 422,
+							"reason": "Channel not in this bridge"
 						}
 					]
 				}




More information about the asterisk-commits mailing list