public async Task FunctionHandler()

in BasketLambda/src/Function.cs [60:109]


        public async Task<APIGatewayProxyResponse> FunctionHandler(APIGatewayProxyRequest apigProxyEvent, ILambdaContext context)
        {
            string body = string.Empty;

            var headers = new Dictionary<string, string>
            {
                    { "Content-Type", "application/json" },
                    { "Access-Control-Allow-Origin", "*" },
                    { "Allow", "GET, OPTIONS, POST, DELETE" },
                    { "Access-Control-Allow-Methods", "GET, OPTIONS, POST, DELETE" },
                    { "Access-Control-Allow-Headers", "*" },
            };

            try
            {
                var claims = apigProxyEvent.RequestContext.Authorizer.Claims;

                switch (apigProxyEvent.HttpMethod)
                {
                    case "GET":
                        body = await this.dynamoDBService.GetBasket(apigProxyEvent.PathParameters["id"]);
                        break;
                    case "DELETE":
                        body = await this.dynamoDBService.DeleteBasket(claims["sub"], apigProxyEvent.PathParameters["id"]);
                        break;
                    case "POST":
                        var basketRequest = JsonConvert.DeserializeObject<BasketRequestBody>(apigProxyEvent.Body);
                        body = await this.dynamoDBService.AddToBasket(claims["sub"], basketRequest.unicorn_id);
                        break;
                    default:
                        break;
                }

                return new APIGatewayProxyResponse
                {
                    Body = body,
                    Headers = headers,
                    StatusCode = 200,
                };
            }
            catch (Exception e)
            {
                return new APIGatewayProxyResponse
                {
                    Body = e.Message,
                    Headers = headers,
                    StatusCode = 500,
                };
            }
        }