public async Task <IActionResult> CreateOrUpdate(string name, [FromBody] FunctionMetadataResponse functionMetadata, [FromServices] IFileMonitoringService fileMonitoringService)
        {
            if (!Utility.IsValidFunctionName(name))
            {
                return(BadRequest($"{name} is not a valid function name"));
            }

            bool success, configChanged;
            FunctionMetadataResponse functionMetadataResponse;

            using (fileMonitoringService.SuspendRestart())
            {
                (success, configChanged, functionMetadataResponse) = await _functionsManager.CreateOrUpdate(name, functionMetadata, Request);
            }
            await ScheduleRestartAsync(fileMonitoringService);

            if (success)
            {
                return(Created(Request.GetDisplayUrl(), functionMetadataResponse));
            }
            else
            {
                return(StatusCode(500));
            }
        }
Exemple #2
0
        public async Task <IActionResult> CreateOrUpdate(string name, [FromBody] FunctionMetadataResponse functionMetadata, [FromServices] IFileMonitoringService fileMonitoringService)
        {
            if (_applicationHostOptions.Value.IsFileSystemReadOnly)
            {
                return(BadRequest("Your app is currently in read only mode. Cannot create or update functions."));
            }

            if (!Utility.IsValidFunctionName(name))
            {
                return(BadRequest($"{name} is not a valid function name"));
            }

            bool success, configChanged;
            FunctionMetadataResponse functionMetadataResponse;

            using (fileMonitoringService.SuspendRestart(true))
            {
                (success, configChanged, functionMetadataResponse) = await _functionsManager.CreateOrUpdate(name, functionMetadata, Request);
            }

            if (success)
            {
                return(Created(Request.GetDisplayUrl(), functionMetadataResponse));
            }
            else
            {
                return(StatusCode(500));
            }
        }
        public async Task <IActionResult> CreateOrUpdate(string name, [FromBody] FunctionMetadataResponse functionMetadata)
        {
            if (!Utility.IsValidFunctionName(name))
            {
                return(BadRequest($"{name} is not a valid function name"));
            }

            (var success, var configChanged, var functionMetadataResponse) = await _functionsManager.CreateOrUpdate(name, functionMetadata, Request);

            if (success)
            {
                return(Created(Request.GetDisplayUrl(), functionMetadataResponse));
            }
            else
            {
                return(StatusCode(500));
            }
        }