From 9de5cd209e5918d27d03afaaddb41125d7a76701 Mon Sep 17 00:00:00 2001 From: Sean Bright Date: Sat, 14 May 2016 13:29:09 -0400 Subject: [PATCH] res_ari: Correct Location headers returned by some ARI resources The Location headers returned by: * /bridges/{bridgeId}/play * /bridges/{bridgeId}/record * /channels/{channelId}/play * /channels/{channelId}/record Did not have the '/ari' prefix, and in the case of the 'play' resources, were using 'playback' instead of 'playbacks.' Change-Id: I957c58a3a1471bf477dae7c67faa1b74fcd9241c --- res/ari/resource_bridges.c | 2 +- res/ari/resource_channels.c | 2 +- res/res_ari.c | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/res/ari/resource_bridges.c b/res/ari/resource_bridges.c index a37b831468..a86f3129c1 100644 --- a/res/ari/resource_bridges.c +++ b/res/ari/resource_bridges.c @@ -381,7 +381,7 @@ static int ari_bridges_play_helper(const char *args_media, return -1; } - if (ast_asprintf(playback_url, "/playback/%s", + if (ast_asprintf(playback_url, "/playbacks/%s", stasis_app_playback_get_id(playback)) == -1) { playback_url = NULL; ast_ari_response_alloc_failed(response); diff --git a/res/ari/resource_channels.c b/res/ari/resource_channels.c index f722802d81..9e2db9de67 100644 --- a/res/ari/resource_channels.c +++ b/res/ari/resource_channels.c @@ -524,7 +524,7 @@ static void ari_channels_handle_play( return; } - if (ast_asprintf(&playback_url, "/playback/%s", + if (ast_asprintf(&playback_url, "/playbacks/%s", stasis_app_playback_get_id(playback)) == -1) { playback_url = NULL; ast_ari_response_error( diff --git a/res/res_ari.c b/res/res_ari.c index f39db16cdb..4a0a22d79a 100644 --- a/res/res_ari.c +++ b/res/res_ari.c @@ -304,10 +304,11 @@ void ast_ari_response_alloc_failed(struct ast_ari_response *response) void ast_ari_response_created(struct ast_ari_response *response, const char *url, struct ast_json *message) { + RAII_VAR(struct stasis_rest_handlers *, root, get_root_handler(), ao2_cleanup); response->message = message; response->response_code = 201; response->response_text = "Created"; - ast_str_append(&response->headers, 0, "Location: %s\r\n", url); + ast_str_append(&response->headers, 0, "Location: /%s%s\r\n", root->path_segment, url); } static void add_allow_header(struct stasis_rest_handlers *handler, -- 2.47.2