ARI: Add the ability to download the media associated with a stored recording

This patch adds a new feature to ARI that allows a client to download
the media associated with a stored recording. The new route is
/recordings/stored/{name}/file, and transmits the underlying binary file
using Asterisk's HTTP server's underlying file transfer facilities.

Because this REST route returns non-JSON, a few small enhancements had
to be made to the Python Swagger generation code, as well as the
mustache templates that generate the ARI bindings.

ASTERISK-26042 #close

Change-Id: I49ec5c4afdec30bb665d9c977ab423b5387e0181
This commit is contained in:
Matt Jordan
2016-05-18 06:19:58 -05:00
parent d4b77dad1b
commit e773e3a9bb
12 changed files with 235 additions and 5 deletions

View File

@@ -69,6 +69,38 @@
}
]
},
{
"path": "/recordings/stored/{recordingName}/file",
"description": "The actual file associated with the stored recording",
"operations": [
{
"httpMethod": "GET",
"summary": "Get the file associated with the stored recording.",
"nickname": "getStoredFile",
"responseClass": "binary",
"parameters": [
{
"name": "recordingName",
"description": "The name of the recording",
"paramType": "path",
"required": true,
"allowMultiple": false,
"dataType": "string"
}
],
"errorResponses": [
{
"code": 403,
"reason": "The recording file could not be opened"
},
{
"code": 404,
"reason": "Recording not found"
}
]
}
]
},
{
"path": "/recordings/stored/{recordingName}/copy",
"description": "Copy an individual recording",