mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-22 20:56:39 +00:00
ARI recordings: Issue HTTP failures for recording requests with file conflicts
If a file already exists in the recordings directory with the same name as what we would record, issue a 422 instead of relying on the internal failure and issuing success. (closes issue ASTERISK-22623) Reported by: Joshua Colp Review: https://reviewboard.asterisk.org/r/2922/ ........ Merged revisions 401973 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@401999 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -348,6 +348,14 @@ struct stasis_app_recording *stasis_app_control_record(
|
||||
recording->control = control;
|
||||
recording->state = STASIS_APP_RECORDING_STATE_QUEUED;
|
||||
|
||||
if ((recording->options->if_exists == AST_RECORD_IF_EXISTS_FAIL) &&
|
||||
(ast_fileexists(recording->absolute_name, NULL, NULL))) {
|
||||
ast_log(LOG_WARNING, "Recording file '%s' already exists and ifExists option is failure.\n",
|
||||
recording->absolute_name);
|
||||
errno = EEXIST;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
{
|
||||
RAII_VAR(struct stasis_app_recording *, old_recording, NULL,
|
||||
ao2_cleanup);
|
||||
|
Reference in New Issue
Block a user