public async Task <APIGatewayProxyResponse> ApiGatewayProxyInvocation(APIGatewayProxyRequest apiGatewayProxyRequest, ILambdaContext context) { var targetVerbosity = Verbosity.Silent; if (apiGatewayProxyRequest.StageVariables.ContainsKey("verbosity")) { Enum.TryParse(apiGatewayProxyRequest.StageVariables["verbosity"], out targetVerbosity); } _lambdaLogger.Verbosity = targetVerbosity; _lambdaLogger.LogDebug(() => "Invoked!"); _lambdaLogger.LogDebug(() => ApiGatewayProxyHelpers.ProxyRequestToString(apiGatewayProxyRequest)); try { var restRequest = CreateRestRequest(apiGatewayProxyRequest); var restResponse = await _dispatcher.DispatchAsync(restRequest, _lambdaLogger); return(CreateApiGatewayProxyResponse(restResponse)); } catch (ArgumentException e) { return(new APIGatewayProxyResponse { Body = _payloadConverter.SerializePayload(new { errorMessage = e.Message }), StatusCode = 405 }); } }