Skip to content

Commit d11e354

Browse files
authored
Remove Sync from SyncSign(ed)Request (#4412)
Changed the parent interfaces to be BaseSign(ed)Request.
1 parent 8ac715b commit d11e354

File tree

36 files changed

+645
-638
lines changed

36 files changed

+645
-638
lines changed

core/auth/src/main/java/software/amazon/awssdk/auth/signer/AwsSignerExecutionAttribute.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@
4040
import software.amazon.awssdk.http.auth.spi.AsyncSignedRequest;
4141
import software.amazon.awssdk.http.auth.spi.AuthSchemeOption;
4242
import software.amazon.awssdk.http.auth.spi.HttpSigner;
43-
import software.amazon.awssdk.http.auth.spi.SyncSignRequest;
44-
import software.amazon.awssdk.http.auth.spi.SyncSignedRequest;
43+
import software.amazon.awssdk.http.auth.spi.SignRequest;
44+
import software.amazon.awssdk.http.auth.spi.SignedRequest;
4545
import software.amazon.awssdk.identity.spi.AwsCredentialsIdentity;
4646
import software.amazon.awssdk.identity.spi.Identity;
4747
import software.amazon.awssdk.regions.Region;
@@ -465,7 +465,7 @@ private static class UnsetIdentity implements Identity {
465465

466466
private static class UnsetHttpSigner implements HttpSigner<UnsetIdentity> {
467467
@Override
468-
public SyncSignedRequest sign(SyncSignRequest<? extends UnsetIdentity> request) {
468+
public SignedRequest sign(SignRequest<? extends UnsetIdentity> request) {
469469
throw new IllegalStateException("A signer was not configured.");
470470
}
471471

core/auth/src/main/java/software/amazon/awssdk/auth/signer/S3SignerExecutionAttribute.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@
2626
import software.amazon.awssdk.http.auth.spi.AsyncSignedRequest;
2727
import software.amazon.awssdk.http.auth.spi.AuthSchemeOption;
2828
import software.amazon.awssdk.http.auth.spi.HttpSigner;
29-
import software.amazon.awssdk.http.auth.spi.SyncSignRequest;
30-
import software.amazon.awssdk.http.auth.spi.SyncSignedRequest;
29+
import software.amazon.awssdk.http.auth.spi.SignRequest;
30+
import software.amazon.awssdk.http.auth.spi.SignedRequest;
3131
import software.amazon.awssdk.identity.spi.Identity;
3232
import software.amazon.awssdk.utils.CompletableFutureUtils;
3333

@@ -143,7 +143,7 @@ private static class UnsetIdentity implements Identity {
143143

144144
private static class UnsetHttpSigner implements HttpSigner<UnsetIdentity> {
145145
@Override
146-
public SyncSignedRequest sign(SyncSignRequest<? extends UnsetIdentity> request) {
146+
public SignedRequest sign(SignRequest<? extends UnsetIdentity> request) {
147147
throw new IllegalStateException("A signer was not configured.");
148148
}
149149

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

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@
4545
import software.amazon.awssdk.http.auth.aws.internal.util.CredentialUtils;
4646
import software.amazon.awssdk.http.auth.spi.AsyncSignRequest;
4747
import software.amazon.awssdk.http.auth.spi.AsyncSignedRequest;
48+
import software.amazon.awssdk.http.auth.spi.BaseSignRequest;
4849
import software.amazon.awssdk.http.auth.spi.SignRequest;
49-
import software.amazon.awssdk.http.auth.spi.SyncSignRequest;
50-
import software.amazon.awssdk.http.auth.spi.SyncSignedRequest;
50+
import software.amazon.awssdk.http.auth.spi.SignedRequest;
5151
import software.amazon.awssdk.identity.spi.AwsCredentialsIdentity;
5252
import software.amazon.awssdk.utils.CompletableFutureUtils;
5353

@@ -60,7 +60,7 @@ public final class DefaultAwsCrtV4aHttpSigner implements AwsV4aHttpSigner {
6060

6161
private static final int DEFAULT_CHUNK_SIZE_IN_BYTES = 128 * 1024;
6262

63-
private static V4aProperties v4aProperties(SignRequest<?, ? extends AwsCredentialsIdentity> request) {
63+
private static V4aProperties v4aProperties(BaseSignRequest<?, ? extends AwsCredentialsIdentity> request) {
6464
Clock signingClock = request.requireProperty(SIGNING_CLOCK, Clock.systemUTC());
6565
Instant signingInstant = signingClock.instant();
6666
AwsCredentialsIdentity credentials = sanitizeCredentials(request.identity());
@@ -81,7 +81,7 @@ private static V4aProperties v4aProperties(SignRequest<?, ? extends AwsCredentia
8181
}
8282

8383
private static V4aPayloadSigner v4aPayloadSigner(
84-
SignRequest<?, ? extends AwsCredentialsIdentity> request,
84+
BaseSignRequest<?, ? extends AwsCredentialsIdentity> request,
8585
V4aProperties v4aProperties) {
8686

8787
boolean isChunkEncoding = request.requireProperty(CHUNK_ENCODING_ENABLED, false);
@@ -109,7 +109,7 @@ private static Duration validateExpirationDuration(Duration expirationDuration)
109109
}
110110

111111
private static AwsSigningConfig signingConfig(
112-
SignRequest<?, ? extends AwsCredentialsIdentity> request,
112+
BaseSignRequest<?, ? extends AwsCredentialsIdentity> request,
113113
V4aProperties v4aProperties) {
114114

115115
AuthLocation authLocation = request.requireProperty(AUTH_LOCATION, AuthLocation.HEADER);
@@ -179,14 +179,14 @@ private static void configurePayloadSigning(AwsSigningConfig signingConfig, bool
179179
// if not chunked encoding, then signed-payload simply means the sha256 hash is included in the canonical request
180180
}
181181

182-
private static SyncSignedRequest doSign(SyncSignRequest<? extends AwsCredentialsIdentity> request,
183-
AwsSigningConfig signingConfig,
184-
V4aPayloadSigner payloadSigner) {
182+
private static SignedRequest doSign(SignRequest<? extends AwsCredentialsIdentity> request,
183+
AwsSigningConfig signingConfig,
184+
V4aPayloadSigner payloadSigner) {
185185
if (CredentialUtils.isAnonymous(request.identity())) {
186-
return SyncSignedRequest.builder()
187-
.request(request.request())
188-
.payload(request.payload().orElse(null))
189-
.build();
186+
return SignedRequest.builder()
187+
.request(request.request())
188+
.payload(request.payload().orElse(null))
189+
.build();
190190
}
191191

192192
SdkHttpRequest sanitizedRequest = sanitizeRequest(request.request());
@@ -197,10 +197,10 @@ private static SyncSignedRequest doSign(SyncSignRequest<? extends AwsCredentials
197197

198198
ContentStreamProvider payload = payloadSigner.sign(request.payload().orElse(null), v4aContext);
199199

200-
return SyncSignedRequest.builder()
201-
.request(v4aContext.getSignedRequest().build())
202-
.payload(payload)
203-
.build();
200+
return SignedRequest.builder()
201+
.request(v4aContext.getSignedRequest().build())
202+
.payload(payload)
203+
.build();
204204
}
205205

206206
private static V4aContext sign(SdkHttpRequest request, HttpRequest crtRequest, AwsSigningConfig signingConfig) {
@@ -212,7 +212,7 @@ private static V4aContext sign(SdkHttpRequest request, HttpRequest crtRequest, A
212212
}
213213

214214
@Override
215-
public SyncSignedRequest sign(SyncSignRequest<? extends AwsCredentialsIdentity> request) {
215+
public SignedRequest sign(SignRequest<? extends AwsCredentialsIdentity> request) {
216216
V4aProperties v4aProperties = v4aProperties(request);
217217
AwsSigningConfig signingConfig = signingConfig(request, v4aProperties);
218218
V4aPayloadSigner payloadSigner = v4aPayloadSigner(request, v4aProperties);

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,15 @@
1919
import software.amazon.awssdk.annotations.Immutable;
2020
import software.amazon.awssdk.annotations.SdkInternalApi;
2121
import software.amazon.awssdk.http.auth.aws.internal.signer.CredentialScope;
22-
import software.amazon.awssdk.http.auth.spi.SignRequest;
22+
import software.amazon.awssdk.http.auth.spi.BaseSignRequest;
2323
import software.amazon.awssdk.http.auth.spi.SignerProperty;
2424
import software.amazon.awssdk.identity.spi.AwsCredentialsIdentity;
2525
import software.amazon.awssdk.utils.Validate;
2626

2727

2828
/**
2929
* A class which contains "properties" relevant to SigV4a. These properties can be derived {@link SignerProperty}'s on a
30-
* {@link SignRequest}.
30+
* {@link BaseSignRequest}.
3131
*/
3232
@SdkInternalApi
3333
@Immutable

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

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@
3838
import software.amazon.awssdk.http.auth.aws.internal.util.CredentialUtils;
3939
import software.amazon.awssdk.http.auth.spi.AsyncSignRequest;
4040
import software.amazon.awssdk.http.auth.spi.AsyncSignedRequest;
41+
import software.amazon.awssdk.http.auth.spi.BaseSignRequest;
4142
import software.amazon.awssdk.http.auth.spi.SignRequest;
42-
import software.amazon.awssdk.http.auth.spi.SyncSignRequest;
43-
import software.amazon.awssdk.http.auth.spi.SyncSignedRequest;
43+
import software.amazon.awssdk.http.auth.spi.SignedRequest;
4444
import software.amazon.awssdk.identity.spi.AwsCredentialsIdentity;
4545

4646
/**
@@ -52,7 +52,7 @@ public final class DefaultAwsV4HttpSigner implements AwsV4HttpSigner {
5252

5353
private static final int DEFAULT_CHUNK_SIZE_IN_BYTES = 128 * 1024;
5454

55-
private static V4Properties v4Properties(SignRequest<?, ? extends AwsCredentialsIdentity> request) {
55+
private static V4Properties v4Properties(BaseSignRequest<?, ? extends AwsCredentialsIdentity> request) {
5656
Clock signingClock = request.requireProperty(SIGNING_CLOCK, Clock.systemUTC());
5757
Instant signingInstant = signingClock.instant();
5858
AwsCredentialsIdentity credentials = sanitizeCredentials(request.identity());
@@ -72,7 +72,7 @@ private static V4Properties v4Properties(SignRequest<?, ? extends AwsCredentials
7272
}
7373

7474
private static V4RequestSigner v4RequestSigner(
75-
SignRequest<?, ? extends AwsCredentialsIdentity> request,
75+
BaseSignRequest<?, ? extends AwsCredentialsIdentity> request,
7676
V4Properties v4Properties) {
7777

7878
AuthLocation authLocation = request.requireProperty(AUTH_LOCATION, AuthLocation.HEADER);
@@ -99,7 +99,7 @@ private static V4RequestSigner v4RequestSigner(
9999
return requestSigner.apply(v4Properties);
100100
}
101101

102-
private static Checksummer checksummer(SignRequest<?, ? extends AwsCredentialsIdentity> request) {
102+
private static Checksummer checksummer(BaseSignRequest<?, ? extends AwsCredentialsIdentity> request) {
103103
boolean isPayloadSigning = request.requireProperty(PAYLOAD_SIGNING_ENABLED, true);
104104
boolean isEventStreaming = isEventStreaming(request.request());
105105
boolean isChunkEncoding = request.requireProperty(CHUNK_ENCODING_ENABLED, false);
@@ -139,7 +139,7 @@ private static Checksummer checksummer(SignRequest<?, ? extends AwsCredentialsId
139139
}
140140

141141
private static V4PayloadSigner v4PayloadSigner(
142-
SignRequest<?, ? extends AwsCredentialsIdentity> request,
142+
BaseSignRequest<?, ? extends AwsCredentialsIdentity> request,
143143
V4Properties properties) {
144144

145145
boolean isPayloadSigning = request.requireProperty(PAYLOAD_SIGNING_ENABLED, true);
@@ -168,15 +168,15 @@ private static V4PayloadSigner v4PayloadSigner(
168168
return V4PayloadSigner.create();
169169
}
170170

171-
private static SyncSignedRequest doSign(SyncSignRequest<? extends AwsCredentialsIdentity> request,
172-
Checksummer checksummer,
173-
V4RequestSigner requestSigner,
174-
V4PayloadSigner payloadSigner) {
171+
private static SignedRequest doSign(SignRequest<? extends AwsCredentialsIdentity> request,
172+
Checksummer checksummer,
173+
V4RequestSigner requestSigner,
174+
V4PayloadSigner payloadSigner) {
175175
if (CredentialUtils.isAnonymous(request.identity())) {
176-
return SyncSignedRequest.builder()
177-
.request(request.request())
178-
.payload(request.payload().orElse(null))
179-
.build();
176+
return SignedRequest.builder()
177+
.request(request.request())
178+
.payload(request.payload().orElse(null))
179+
.build();
180180
}
181181

182182
SdkHttpRequest.Builder requestBuilder = request.request().toBuilder();
@@ -187,10 +187,10 @@ private static SyncSignedRequest doSign(SyncSignRequest<? extends AwsCredentials
187187

188188
ContentStreamProvider payload = payloadSigner.sign(request.payload().orElse(null), v4Context);
189189

190-
return SyncSignedRequest.builder()
191-
.request(v4Context.getSignedRequest().build())
192-
.payload(payload)
193-
.build();
190+
return SignedRequest.builder()
191+
.request(v4Context.getSignedRequest().build())
192+
.payload(payload)
193+
.build();
194194
}
195195

196196
private static CompletableFuture<AsyncSignedRequest> doSign(AsyncSignRequest<? extends AwsCredentialsIdentity> request,
@@ -236,7 +236,7 @@ private static boolean isEventStreaming(SdkHttpRequest request) {
236236
}
237237

238238
@Override
239-
public SyncSignedRequest sign(SyncSignRequest<? extends AwsCredentialsIdentity> request) {
239+
public SignedRequest sign(SignRequest<? extends AwsCredentialsIdentity> request) {
240240
Checksummer checksummer = checksummer(request);
241241
V4Properties v4Properties = v4Properties(request);
242242
V4RequestSigner v4RequestSigner = v4RequestSigner(request, v4Properties);

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@
1818
import java.time.Clock;
1919
import software.amazon.awssdk.annotations.Immutable;
2020
import software.amazon.awssdk.annotations.SdkInternalApi;
21-
import software.amazon.awssdk.http.auth.spi.SignRequest;
21+
import software.amazon.awssdk.http.auth.spi.BaseSignRequest;
2222
import software.amazon.awssdk.http.auth.spi.SignerProperty;
2323
import software.amazon.awssdk.identity.spi.AwsCredentialsIdentity;
2424
import software.amazon.awssdk.utils.Validate;
2525

2626

2727
/**
2828
* A class which contains "properties" relevant to SigV4. These properties can be derived {@link SignerProperty}'s on a
29-
* {@link SignRequest}.
29+
* {@link BaseSignRequest}.
3030
*/
3131
@SdkInternalApi
3232
@Immutable

core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/TestUtils.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,33 +16,33 @@
1616
import software.amazon.awssdk.http.SdkHttpMethod;
1717
import software.amazon.awssdk.http.SdkHttpRequest;
1818
import software.amazon.awssdk.http.auth.spi.AsyncSignRequest;
19-
import software.amazon.awssdk.http.auth.spi.SyncSignRequest;
19+
import software.amazon.awssdk.http.auth.spi.SignRequest;
2020
import software.amazon.awssdk.identity.spi.AwsCredentialsIdentity;
2121
import software.amazon.awssdk.utils.async.SimplePublisher;
2222

2323
public final class TestUtils {
2424
// Helpers for generating test requests
25-
public static <T extends AwsCredentialsIdentity> SyncSignRequest<T> generateBasicRequest(
25+
public static <T extends AwsCredentialsIdentity> SignRequest<T> generateBasicRequest(
2626
T credentials,
2727
Consumer<? super SdkHttpRequest.Builder> requestOverrides,
28-
Consumer<? super SyncSignRequest.Builder<T>> signRequestOverrides
28+
Consumer<? super SignRequest.Builder<T>> signRequestOverrides
2929
) {
30-
return SyncSignRequest.builder(credentials)
31-
.request(SdkHttpRequest.builder()
30+
return SignRequest.builder(credentials)
31+
.request(SdkHttpRequest.builder()
3232
.method(SdkHttpMethod.POST)
3333
.putHeader("Host", "demo.us-east-1.amazonaws.com")
3434
.putHeader("x-amz-archive-description", "test test")
3535
.encodedPath("/")
3636
.uri(URI.create("http://demo.us-east-1.amazonaws.com"))
3737
.build()
3838
.copy(requestOverrides))
39-
.payload(() -> new ByteArrayInputStream("{\"TableName\": \"foo\"}".getBytes()))
40-
.putProperty(REGION_NAME, "us-east-1")
41-
.putProperty(SERVICE_SIGNING_NAME, "demo")
42-
.putProperty(SIGNING_CLOCK,
39+
.payload(() -> new ByteArrayInputStream("{\"TableName\": \"foo\"}".getBytes()))
40+
.putProperty(REGION_NAME, "us-east-1")
41+
.putProperty(SERVICE_SIGNING_NAME, "demo")
42+
.putProperty(SIGNING_CLOCK,
4343
new TickingClock(Instant.ofEpochMilli(351153000968L)))
44-
.build()
45-
.copy(signRequestOverrides);
44+
.build()
45+
.copy(signRequestOverrides);
4646
}
4747

4848
public static <T extends AwsCredentialsIdentity> AsyncSignRequest<T> generateBasicAsyncRequest(

core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/crt/TestUtils.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
import software.amazon.awssdk.http.ContentStreamProvider;
3434
import software.amazon.awssdk.http.SdkHttpMethod;
3535
import software.amazon.awssdk.http.SdkHttpRequest;
36-
import software.amazon.awssdk.http.auth.spi.SyncSignRequest;
36+
import software.amazon.awssdk.http.auth.spi.SignRequest;
3737
import software.amazon.awssdk.identity.spi.AwsCredentialsIdentity;
3838

3939
public final class TestUtils {
@@ -45,26 +45,26 @@ private TestUtils() {
4545
}
4646

4747
// Helpers for generating test requests
48-
public static <T extends AwsCredentialsIdentity> SyncSignRequest<T> generateBasicRequest(
48+
public static <T extends AwsCredentialsIdentity> SignRequest<T> generateBasicRequest(
4949
T credentials,
5050
Consumer<? super SdkHttpRequest.Builder> requestOverrides,
51-
Consumer<? super SyncSignRequest.Builder<T>> signRequestOverrides
51+
Consumer<? super SignRequest.Builder<T>> signRequestOverrides
5252
) {
53-
return SyncSignRequest.builder(credentials)
54-
.request(SdkHttpRequest.builder()
53+
return SignRequest.builder(credentials)
54+
.request(SdkHttpRequest.builder()
5555
.method(SdkHttpMethod.POST)
5656
.putHeader("x-amz-archive-description", "test test")
5757
.putHeader("Host", "demo.us-east-1.amazonaws.com")
5858
.encodedPath("/")
5959
.uri(URI.create("https://demo.us-east-1.amazonaws.com"))
6060
.build()
6161
.copy(requestOverrides))
62-
.payload(() -> new ByteArrayInputStream("{\"TableName\": \"foo\"}".getBytes()))
63-
.putProperty(REGION_NAME, "aws-global")
64-
.putProperty(SERVICE_SIGNING_NAME, "demo")
65-
.putProperty(SIGNING_CLOCK, new TickingClock(Instant.ofEpochMilli(1596476903000L)))
66-
.build()
67-
.copy(signRequestOverrides);
62+
.payload(() -> new ByteArrayInputStream("{\"TableName\": \"foo\"}".getBytes()))
63+
.putProperty(REGION_NAME, "aws-global")
64+
.putProperty(SERVICE_SIGNING_NAME, "demo")
65+
.putProperty(SIGNING_CLOCK, new TickingClock(Instant.ofEpochMilli(1596476903000L)))
66+
.build()
67+
.copy(signRequestOverrides);
6868
}
6969

7070
public static AwsSigningConfig generateBasicSigningConfig(AwsCredentialsIdentity credentials) {

0 commit comments

Comments
 (0)