[asterisk-commits] dlee: branch dlee/record r389722 - /team/dlee/record/res/stasis_http/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri May 24 08:39:18 CDT 2013


Author: dlee
Date: Fri May 24 08:39:14 2013
New Revision: 389722

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=389722
Log:
GET for live recordings works

Modified:
    team/dlee/record/res/stasis_http/resource_recordings.c

Modified: team/dlee/record/res/stasis_http/resource_recordings.c
URL: http://svnview.digium.com/svn/asterisk/team/dlee/record/res/stasis_http/resource_recordings.c?view=diff&rev=389722&r1=389721&r2=389722
==============================================================================
--- team/dlee/record/res/stasis_http/resource_recordings.c (original)
+++ team/dlee/record/res/stasis_http/resource_recordings.c Fri May 24 08:39:14 2013
@@ -27,6 +27,7 @@
 
 ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 
+#include "asterisk/stasis_app_recording.h"
 #include "resource_recordings.h"
 
 void stasis_http_get_recordings(struct ast_variable *headers, struct ast_get_recordings_args *args, struct stasis_http_response *response)
@@ -49,10 +50,31 @@
 {
 	ast_log(LOG_ERROR, "TODO: stasis_http_get_live_recordings\n");
 }
-void stasis_http_get_live_recording(struct ast_variable *headers, struct ast_get_live_recording_args *args, struct stasis_http_response *response)
+
+void stasis_http_get_live_recording(struct ast_variable *headers,
+	struct ast_get_live_recording_args *args,
+	struct stasis_http_response *response)
 {
-	ast_log(LOG_ERROR, "TODO: stasis_http_get_live_recording\n");
+	RAII_VAR(struct stasis_app_recording *, recording, NULL, ao2_cleanup);
+	RAII_VAR(struct ast_json *, json, NULL, ast_json_unref);
+
+	recording = stasis_app_recording_find_by_id(args->recording_id);
+	if (recording == NULL) {
+		stasis_http_response_error(response, 404, "Not Found",
+			"Recording not found");
+		return;
+	}
+
+	json = stasis_app_recording_to_json(recording);
+	if (json == NULL) {
+		stasis_http_response_error(response, 500,
+			"Internal Server Error", "Error building response");
+		return;
+	}
+
+	stasis_http_response_ok(response, ast_json_ref(json));
 }
+
 void stasis_http_cancel_recording(struct ast_variable *headers, struct ast_cancel_recording_args *args, struct stasis_http_response *response)
 {
 	ast_log(LOG_ERROR, "TODO: stasis_http_cancel_recording\n");




More information about the asterisk-commits mailing list