public void writeS3GetObjectErrorResponse()

in function/java11/src/main/java/com/amazon/s3objectlambda/response/ObjectResponse.java [33:54]


    public void writeS3GetObjectErrorResponse(HttpResponse<InputStream> presignedResponse) {

        String xmlResponse;

        try {
            xmlResponse = IOUtils.toString(presignedResponse.body());
        } catch (IOException e) {
            e.printStackTrace();
            return;
        }

        var errorCode = getAttributeFromS3ErrorResponse(xmlResponse, "Code");
        var errorMessage = getAttributeFromS3ErrorResponse(xmlResponse, "Message");

        this.s3Client.writeGetObjectResponse(new WriteGetObjectResponseRequest()
                .withRequestRoute(this.event.outputRoute())
                .withRequestToken(this.event.outputToken())
                .withErrorCode(errorCode)
                .withContentLength(0L).withInputStream(new ByteArrayInputStream(new byte[0]))
                .withErrorMessage(errorMessage)
                .withStatusCode(presignedResponse.statusCode()));
    }