public APIGatewayProxyResponseEvent handleRequest()

in lambda-api/src/main/java/io/awsobservability/opentelemetry/playground/lambdaapi/HelloLambdaHandler.java [20:42]


    public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent request, Context context) {
        var response = new APIGatewayProxyResponseEvent();
        response.setStatusCode(200);
        response.setHeaders(request.getHeaders().entrySet()
                                   .stream()
                                   .map(e -> Map.entry("received-" + e.getKey(), e.getValue()))
                                   .collect(toMap(Map.Entry::getKey, Map.Entry::getValue)));

        HttpClient httpclient = HttpClients.createDefault();
        for(int i = 0; i < 3; i++) {
            try {
                HttpResponse httpResponse = httpclient.execute(new HttpGet("http://httpbin.org/"));
                httpResponse.getEntity().getContent().readAllBytes();
            } catch (Exception e) {
            }
        }

        Throwable t = new Throwable();
        StringWriter writer = new StringWriter();
        t.printStackTrace(new PrintWriter(writer));
        response.setBody("I'm lambda!\n" + writer.toString());
        return response;
    }