public static async Task <Guid> CreateUserDefinedFunctionAsync(HttpClient httpClient, ILogger logger, UserDefinedFunction userDefinedFunction, string js) { logger.LogInformation($"Creating UserDefinedFunction with Metadata: {JsonConvert.SerializeObject(userDefinedFunction.ToCreate(), Formatting.Indented)}"); var displayContent = js.Length > 100 ? js.Substring(0, 100) + "..." : js; logger.LogInformation($"Creating UserDefinedFunction with Content: {displayContent}"); var metadataContent = new StringContent(JsonConvert.SerializeObject(userDefinedFunction.ToCreate()), Encoding.UTF8, "application/json"); metadataContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); var multipartContent = new MultipartFormDataContent("userDefinedFunctionBoundary"); multipartContent.Add(metadataContent, "metadata"); multipartContent.Add(new StringContent(js), "contents"); var response = await httpClient.PostAsync("userdefinedfunctions", multipartContent); var id = await GetIdFromResponse(response, logger, multipartContent.ToString()); if (id != Guid.Empty) { await FeedbackHelper.Channel.SendMessageAsync($"UserDefinedFunction '{userDefinedFunction.Name}' successfully created with the ID {id}", MessageType.Info); } return(id); }