Skip to content

Commit 8c19a19

Browse files
committed
Move public methods to top of DefaultAwsV4HttpSigner
And other minor refactoring.
1 parent 195bf79 commit 8c19a19

File tree

1 file changed

+33
-33
lines changed

1 file changed

+33
-33
lines changed

core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/DefaultAwsV4HttpSigner.java

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,26 @@ public final class DefaultAwsV4HttpSigner implements AwsV4HttpSigner {
5454

5555
private static final int DEFAULT_CHUNK_SIZE_IN_BYTES = 128 * 1024;
5656

57+
@Override
58+
public SignedRequest sign(SignRequest<? extends AwsCredentialsIdentity> request) {
59+
Checksummer checksummer = checksummer(request);
60+
V4Properties v4Properties = v4Properties(request);
61+
V4RequestSigner v4RequestSigner = v4RequestSigner(request, v4Properties);
62+
V4PayloadSigner payloadSigner = v4PayloadSigner(request, v4Properties);
63+
64+
return doSign(request, checksummer, v4RequestSigner, payloadSigner);
65+
}
66+
67+
@Override
68+
public CompletableFuture<AsyncSignedRequest> signAsync(AsyncSignRequest<? extends AwsCredentialsIdentity> request) {
69+
Checksummer checksummer = checksummer(request);
70+
V4Properties v4Properties = v4Properties(request);
71+
V4RequestSigner v4RequestSigner = v4RequestSigner(request, v4Properties);
72+
V4PayloadSigner payloadSigner = v4PayloadAsyncSigner(request, v4Properties);
73+
74+
return doSign(request, checksummer, v4RequestSigner, payloadSigner);
75+
}
76+
5777
private static V4Properties v4Properties(BaseSignRequest<?, ? extends AwsCredentialsIdentity> request) {
5878
Clock signingClock = request.requireProperty(SIGNING_CLOCK, Clock.systemUTC());
5979
Instant signingInstant = signingClock.instant();
@@ -106,17 +126,6 @@ private static V4RequestSigner v4RequestSigner(
106126
return requestSigner.apply(v4Properties);
107127
}
108128

109-
private static boolean hasChecksumHeader(BaseSignRequest<?, ? extends AwsCredentialsIdentity> request) {
110-
ChecksumAlgorithm checksumAlgorithm = request.property(CHECKSUM_ALGORITHM);
111-
112-
if (checksumAlgorithm != null) {
113-
String checksumHeaderName = checksumHeaderName(checksumAlgorithm);
114-
return request.request().firstMatchingHeader(checksumHeaderName).isPresent();
115-
}
116-
117-
return false;
118-
}
119-
120129
private static Checksummer checksummer(BaseSignRequest<?, ? extends AwsCredentialsIdentity> request) {
121130
boolean isPayloadSigning = isPayloadSigning(request);
122131
boolean isEventStreaming = isEventStreaming(request.request());
@@ -161,14 +170,8 @@ private static Checksummer checksummer(BaseSignRequest<?, ? extends AwsCredentia
161170
return Checksummer.forPrecomputed256Checksum(UNSIGNED_PAYLOAD);
162171
}
163172

164-
private static boolean useChunkEncoding(boolean payloadSigningEnabled, boolean chunkEncodingEnabled,
165-
boolean isTrailingOrFlexible) {
166-
167-
return (payloadSigningEnabled && chunkEncodingEnabled) || (chunkEncodingEnabled && isTrailingOrFlexible);
168-
}
169-
170173
private static V4PayloadSigner v4PayloadSigner(
171-
BaseSignRequest<?, ? extends AwsCredentialsIdentity> request,
174+
SignRequest<? extends AwsCredentialsIdentity> request,
172175
V4Properties properties) {
173176

174177
boolean isPayloadSigning = isPayloadSigning(request);
@@ -200,7 +203,7 @@ private static V4PayloadSigner v4PayloadSigner(
200203
}
201204

202205
private static V4PayloadSigner v4PayloadAsyncSigner(
203-
BaseSignRequest<?, ? extends AwsCredentialsIdentity> request,
206+
AsyncSignRequest<? extends AwsCredentialsIdentity> request,
204207
V4Properties properties) {
205208

206209
boolean isPayloadSigning = request.requireProperty(PAYLOAD_SIGNING_ENABLED, true);
@@ -289,23 +292,20 @@ private static boolean isEventStreaming(SdkHttpRequest request) {
289292
return "application/vnd.amazon.eventstream".equals(request.firstMatchingHeader(Header.CONTENT_TYPE).orElse(""));
290293
}
291294

292-
@Override
293-
public SignedRequest sign(SignRequest<? extends AwsCredentialsIdentity> request) {
294-
Checksummer checksummer = checksummer(request);
295-
V4Properties v4Properties = v4Properties(request);
296-
V4RequestSigner v4RequestSigner = v4RequestSigner(request, v4Properties);
297-
V4PayloadSigner payloadSigner = v4PayloadSigner(request, v4Properties);
295+
private static boolean hasChecksumHeader(BaseSignRequest<?, ? extends AwsCredentialsIdentity> request) {
296+
ChecksumAlgorithm checksumAlgorithm = request.property(CHECKSUM_ALGORITHM);
298297

299-
return doSign(request, checksummer, v4RequestSigner, payloadSigner);
298+
if (checksumAlgorithm != null) {
299+
String checksumHeaderName = checksumHeaderName(checksumAlgorithm);
300+
return request.request().firstMatchingHeader(checksumHeaderName).isPresent();
301+
}
302+
303+
return false;
300304
}
301305

302-
@Override
303-
public CompletableFuture<AsyncSignedRequest> signAsync(AsyncSignRequest<? extends AwsCredentialsIdentity> request) {
304-
Checksummer checksummer = checksummer(request);
305-
V4Properties v4Properties = v4Properties(request);
306-
V4RequestSigner v4RequestSigner = v4RequestSigner(request, v4Properties);
307-
V4PayloadSigner payloadSigner = v4PayloadAsyncSigner(request, v4Properties);
306+
private static boolean useChunkEncoding(boolean payloadSigningEnabled, boolean chunkEncodingEnabled,
307+
boolean isTrailingOrFlexible) {
308308

309-
return doSign(request, checksummer, v4RequestSigner, payloadSigner);
309+
return (payloadSigningEnabled && chunkEncodingEnabled) || (chunkEncodingEnabled && isTrailingOrFlexible);
310310
}
311311
}

0 commit comments

Comments
 (0)