private async Task <HttpResponseMessage> CreateOrUpdateHelper(string name, Task <FunctionEnvelope> functionEnvelopeBuilder) { if (!FunctionNameValidationRegex.IsMatch(name)) { // it returns the same error object if the PUT request does not come from Arm return(ArmUtils.CreateErrorResponse(Request, HttpStatusCode.BadRequest, new ArgumentException($"{name} is not a valid function name"))); } var tracer = _traceFactory.GetTracer(); using (tracer.Step($"FunctionsController.CreateOrUpdate({name})")) { var functionEnvelope = await functionEnvelopeBuilder; bool configChanged = false; functionEnvelope = await _manager.CreateOrUpdateAsync(name, functionEnvelope, () => { configChanged = true; }); AddFunctionAppIdToEnvelope(functionEnvelope); if (configChanged) { // Fire and forget SyncTrigger request. FireSyncTriggers(tracer); } return(Request.CreateResponse(HttpStatusCode.Created, ArmUtils.AddEnvelopeOnArmRequest(functionEnvelope, Request))); } }
private async Task <HttpResponseMessage> CreateOrUpdateHelper(string name, Task <FunctionEnvelope> functionEnvelopeBuilder) { var tracer = _traceFactory.GetTracer(); using (tracer.Step($"FunctionsController.CreateOrUpdate({name})")) { var functionEnvelope = await functionEnvelopeBuilder; bool configChanged = false; functionEnvelope = await _manager.CreateOrUpdateAsync(name, functionEnvelope, () => { configChanged = true; }); AddFunctionAppIdToEnvelope(functionEnvelope); if (configChanged) { // Fire and forget SyncTrigger request. FireSyncTriggers(tracer); } return(Request.CreateResponse(HttpStatusCode.Created, ArmUtils.AddEnvelopeOnArmRequest(functionEnvelope, Request))); } }