Skip to content

Commit d402e7a

Browse files
committed
Adding an explicit isPresent check in SyncHttpChecksumInTrailerInterceptor to improve readibilty also to address sonarcloud bug
1 parent 76aef12 commit d402e7a

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

core/sdk-core/src/main/java/software/amazon/awssdk/core/internal/interceptor/SyncHttpChecksumInTrailerInterceptor.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -58,14 +58,7 @@ public Optional<RequestBody> modifyHttpContent(Context.ModifyHttpRequest context
5858
ChecksumSpecs checksumSpecs =
5959
HttpChecksumUtils.checksumSpecWithRequestAlgorithm(executionAttributes).orElse(null);
6060

61-
if (checksumSpecs == null
62-
|| ! context.requestBody().isPresent()
63-
|| !HttpChecksumUtils
64-
.isTrailerBasedChecksumForClientType(
65-
executionAttributes, context.httpRequest(),
66-
ClientType.SYNC, checksumSpecs,
67-
context.requestBody().isPresent(),
68-
context.requestBody().map(requestBody -> requestBody.contentStreamProvider() != null).orElse(false))) {
61+
if (!shouldAddTrailerBasedChecksumInRequest(context, executionAttributes, checksumSpecs)) {
6962
return context.requestBody();
7063
}
7164

@@ -85,19 +78,26 @@ public Optional<RequestBody> modifyHttpContent(Context.ModifyHttpRequest context
8578
requestBody.contentType()));
8679
}
8780

81+
private static boolean shouldAddTrailerBasedChecksumInRequest(Context.ModifyHttpRequest context,
82+
ExecutionAttributes executionAttributes,
83+
ChecksumSpecs checksumSpecs) {
84+
return checksumSpecs != null
85+
&& context.requestBody().isPresent()
86+
&& HttpChecksumUtils.isTrailerBasedChecksumForClientType(
87+
executionAttributes,
88+
context.httpRequest(),
89+
ClientType.SYNC, checksumSpecs,
90+
context.requestBody().isPresent(),
91+
context.requestBody().map(requestBody -> requestBody.contentStreamProvider() != null).orElse(false));
92+
}
93+
8894
@Override
8995
public SdkHttpRequest modifyHttpRequest(Context.ModifyHttpRequest context, ExecutionAttributes executionAttributes) {
9096

9197
ChecksumSpecs checksumSpecs =
9298
HttpChecksumUtils.checksumSpecWithRequestAlgorithm(executionAttributes).orElse(null);
93-
if (checksumSpecs == null ||
94-
!HttpChecksumUtils
95-
.isTrailerBasedChecksumForClientType(
96-
executionAttributes,
97-
context.httpRequest(),
98-
ClientType.SYNC, checksumSpecs,
99-
context.requestBody().isPresent(),
100-
context.requestBody().map(requestBody -> requestBody.contentStreamProvider() != null).orElse(false))) {
99+
100+
if (!shouldAddTrailerBasedChecksumInRequest(context, executionAttributes, checksumSpecs)) {
101101
return context.httpRequest();
102102
}
103103

0 commit comments

Comments
 (0)