コード例 #1
0
        public async Task <LambdaProxyResponse> ExecuteFunction(
            ApiGatewayProxyRequest request,
            ILambdaContext context)
        {
            var requestBody = FunctionBody.GenerateFromRepspnse(request);
            var ser         = new JsonSerializer();
            var htmlWeb     = new HtmlWeb();

            var document = htmlWeb.Load(requestBody.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 memStream = new MemoryStream();

            ser.Serialize(coffeeData, memStream);
            var body = memStream.ToString();

            memStream.Flush();

            return(await Task.FromResult <LambdaProxyResponse>(
                       new LambdaProxyResponse {
                statusCode = HttpStatusCode.OK,
                body = body,
            }));
        }