Fix /stasis/res/app_replaced unit test.

A typo in recent changes caused the JSON ApplicationReplaced message to
fail to build, so the message wasn't being sent out the WebSocket.

Related, the replaced application would also unregister itself when it
disconnected, which would actually unregister the new application. This
was also fixed.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@395527 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
David M. Lee
2013-07-26 17:42:08 +00:00
parent 9a46c1d019
commit b6f9b39830
2 changed files with 14 additions and 1 deletions

View File

@@ -221,7 +221,7 @@ void app_update(struct app *app, stasis_app_cb handler, void *data)
msg = ast_json_pack("{s: s, s: s}",
"type", "ApplicationReplaced",
"application", app_name);
"application", app->name);
if (msg) {
app_send(app, msg);
}

View File

@@ -113,6 +113,19 @@ static void app_handler(void *data, const char *app_name,
{
struct event_session *session = data;
int res;
const char *msg_type = S_OR(
ast_json_string_get(ast_json_object_get(message, "type")),
"");
const char *msg_application = S_OR(
ast_json_string_get(ast_json_object_get(message, "application")),
"");
/* Determine if we've been replaced */
if (strcmp(msg_type, "ApplicationReplaced") == 0 &&
strcmp(msg_application, app_name) == 0) {
ao2_find(session->websocket_apps, msg_application,
OBJ_UNLINK | OBJ_NODATA);
}
res = ast_json_object_set(message, "application",
ast_json_string_create(app_name));