public static async Task Run()

in dotnet/azure-functions/FunctionApp/Notes.cs [48:95]


        public static async Task<IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post","delete", Route = "notes/{id?}")]
            HttpRequest req, string id,
            ILogger log)
        {

            log.LogInformation("C# HTTP trigger function processed a request.");
            try
            {
                switch (req.Method.ToLowerInvariant())
                {
                    case "get":
                        var notesResult = await GetNotes(id);
                        return new OkObjectResult(notesResult);
                    case "post":
                        // Implement your POST logic here
                        string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
                        dynamic data = JsonConvert.DeserializeObject(requestBody);
                        string content = data?.content;
                        var newNote = await SaveNote(content);
                        if (newNote != null)
                        {
                            return new OkObjectResult(newNote);
                        }

                        return new BadRequestObjectResult("Error saving note");
                    case "delete":
                        // Implement your DELETE logic here
                        if (string.IsNullOrEmpty(id)) return new BadRequestResult();
                        var deleteResult = await DeleteNote(id);
                        if (deleteResult)
                        {
                            return new OkObjectResult("Note deleted");
                        }

                        return new BadRequestObjectResult("Error deleting note");

                    default:
                        return new BadRequestObjectResult("Method not supported");
                }
            }
            catch (Exception ex)
            {
                log.LogInformation("Exception Occurred");
                log.LogInformation(ex.ToString());
                return new InternalServerErrorResult();
            }
        }