protected override async Task <LambdaProxyResponse> ExecutionFunction( ApiGatewayProxyRequest request) { _context.Logger.LogLine(request.Body); var requestBody = FunctionBody.GenerateFromRequest(request, _context); var htmlWeb = new HtmlWeb(); var url = requestBody.url; var document = htmlWeb.Load(url); var ogImage = GetMetaValue(document, "og:image"); var title = GetTitle(document); var description = GetMetaValue(document, "description"); var coffeeData = new CoffeeData { Title = title, Description = description, OGImage = ogImage ?? "", }; var body = UtilityLibrary.Serialize(coffeeData); _context?.Logger.LogLine(body); var dbContext = new CoffeeContext(_context); var id = GenerateIDFromURL(url); var success = await dbContext.AddCoffee(id, title, description, ogImage); return(success ? new LambdaProxyResponse { statusCode = HttpStatusCode.Created } : new LambdaProxyResponse { statusCode = HttpStatusCode.InternalServerError }); }