diff --git a/core/sdk-core/src/main/java/software/amazon/awssdk/core/internal/async/ChecksumCalculatingAsyncRequestBody.java b/core/sdk-core/src/main/java/software/amazon/awssdk/core/internal/async/ChecksumCalculatingAsyncRequestBody.java index f1f787733c7..09c859fe948 100644 --- a/core/sdk-core/src/main/java/software/amazon/awssdk/core/internal/async/ChecksumCalculatingAsyncRequestBody.java +++ b/core/sdk-core/src/main/java/software/amazon/awssdk/core/internal/async/ChecksumCalculatingAsyncRequestBody.java @@ -69,11 +69,16 @@ private ChecksumCalculatingAsyncRequestBody(DefaultBuilder builder) { } static long initTotalBytes(AsyncRequestBody wrapped, Long contentLengthHeader) { + + if (wrapped.contentLength().isPresent()) { + return wrapped.contentLength().get(); + } + if (contentLengthHeader != null) { return contentLengthHeader; } - return wrapped.contentLength() - .orElseThrow(() -> new UnsupportedOperationException("Content length must be supplied.")); + + throw new UnsupportedOperationException("Content length must be supplied."); } /**