public async Task <IActionResult> CreateLevel( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "level")] HttpRequest req, ILogger log) { log.LogInformation("C# HTTP trigger function(CreateLevel) processed a request."); string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); var level = JsonConvert.DeserializeObject <Level>(requestBody); try { var accessTokenResult = _tokenProvider.ValidateToken(req); if (accessTokenResult.Status != AccessTokenStatus.Valid) { return(new UnauthorizedResult()); } var levelRepo = new LevelRepository(); var newId = levelRepo.CreateLevel(level); return(new OkObjectResult($"Level created with id {newId}.")); } catch (Exception exception) { return(new BadRequestObjectResult(exception.Message)); } }