Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ private <T extends Identity> CompletableFuture<SdkHttpFullRequest> sraSignReques
RequestExecutionContext context,
SelectedAuthScheme<T> selectedAuthScheme) {
updateHttpRequestInInterceptorContext(request, context.executionContext());
adjustForClockSkew(context.executionAttributes());
CompletableFuture<? extends T> identityFuture = selectedAuthScheme.identity();
return identityFuture.thenCompose(identity -> {
CompletableFuture<SdkHttpFullRequest> signedRequestFuture = MetricUtils.reportDuration(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ private <T extends Identity> SdkHttpFullRequest sraSignRequest(SdkHttpFullReques
RequestExecutionContext context,
SelectedAuthScheme<T> selectedAuthScheme) {
updateHttpRequestInInterceptorContext(request, context.executionContext());
adjustForClockSkew(context.executionAttributes());
CompletableFuture<? extends T> identityFuture = selectedAuthScheme.identity();
T identity = CompletableFutureUtils.joinLikeSync(identityFuture);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,8 @@ public void execute_selectedAuthScheme_nullSigner_doesSraSign() throws Exception

SdkHttpFullRequest request = ValidSdkObjects.sdkHttpFullRequest().build();
SdkHttpFullRequest result = stage.execute(request, context).join();
assertThat(context.executionAttributes().getAttribute(TIME_OFFSET))
.isEqualTo(httpClientDependencies.timeOffset());

assertThat(result).isSameAs(signedRequest);
// assert that interceptor context is updated with result
Expand Down Expand Up @@ -172,6 +174,8 @@ public void execute_selectedAuthScheme_nullSigner_timeOffsetSet_doesSraSignAndAd
httpClientDependencies.updateTimeOffset(TEST_TIME_OFFSET);
SdkHttpFullRequest request = ValidSdkObjects.sdkHttpFullRequest().build();
SdkHttpFullRequest result = stage.execute(request, context).join();
assertThat(context.executionAttributes().getAttribute(TIME_OFFSET))
.isEqualTo(httpClientDependencies.timeOffset());

assertThat(result).isSameAs(signedRequest);
// assert that interceptor context is updated with result
Expand Down Expand Up @@ -222,6 +226,8 @@ public void execute_selectedAuthScheme_nullSigner_doesSraSignAndDoesNotOverrideA

SdkHttpFullRequest request = ValidSdkObjects.sdkHttpFullRequest().build();
SdkHttpFullRequest result = stage.execute(request, context).join();
assertThat(context.executionAttributes().getAttribute(TIME_OFFSET))
.isEqualTo(httpClientDependencies.timeOffset());

assertThat(result).isSameAs(signedRequest);
// assert that interceptor context is updated with result
Expand Down Expand Up @@ -273,6 +279,8 @@ public void execute_selectedAuthScheme_asyncRequestBody_doesSraSignAsync() throw

SdkHttpFullRequest request = ValidSdkObjects.sdkHttpFullRequest().build();
SdkHttpFullRequest result = stage.execute(request, context).join();
assertThat(context.executionAttributes().getAttribute(TIME_OFFSET))
.isEqualTo(httpClientDependencies.timeOffset());

assertThat(result).isSameAs(signedRequest);
// assert that contexts are updated with result
Expand Down Expand Up @@ -323,6 +331,8 @@ public void execute_selectedNoAuthAuthScheme_nullSigner_doesSraSign() throws Exc

SdkHttpFullRequest request = ValidSdkObjects.sdkHttpFullRequest().build();
SdkHttpFullRequest result = stage.execute(request, context).join();
assertThat(context.executionAttributes().getAttribute(TIME_OFFSET))
.isEqualTo(httpClientDependencies.timeOffset());

assertThat(result).isSameAs(signedRequest);
// assert that contexts are updated with result
Expand Down Expand Up @@ -472,6 +482,8 @@ public void execute_nullSelectedAuthScheme_signer_usesTimeOffset() throws Except
when(oldSigner.sign(request, context.executionAttributes().copy().putAttribute(TIME_OFFSET, 100))).thenReturn(signedRequest);

SdkHttpFullRequest result = stage.execute(request, context).join();
assertThat(context.executionAttributes().getAttribute(TIME_OFFSET))
.isEqualTo(httpClientDependencies.timeOffset());

assertThat(result).isSameAs(signedRequest);
// assert that interceptor context is updated with result
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
import software.amazon.awssdk.core.http.ExecutionContext;
import software.amazon.awssdk.core.interceptor.ExecutionAttributes;
import software.amazon.awssdk.core.interceptor.InterceptorContext;
import software.amazon.awssdk.core.interceptor.SdkExecutionAttribute;
import software.amazon.awssdk.core.internal.http.HttpClientDependencies;
import software.amazon.awssdk.core.internal.http.RequestExecutionContext;
import software.amazon.awssdk.core.signer.Signer;
Expand Down Expand Up @@ -115,6 +116,8 @@ public void execute_selectedAuthScheme_nullSigner_doesSraSign() throws Exception

SdkHttpFullRequest request = ValidSdkObjects.sdkHttpFullRequest().build();
SdkHttpFullRequest result = stage.execute(request, context);
assertThat(context.executionAttributes().getAttribute(TIME_OFFSET))
.isEqualTo(httpClientDependencies.timeOffset());

assertThat(result).isSameAs(signedRequest);
// assert that interceptor context is updated with result
Expand Down Expand Up @@ -159,6 +162,8 @@ public void execute_selectedAuthScheme_nullSigner_timeOffsetSet_doesSraSignAndAd

SdkHttpFullRequest request = ValidSdkObjects.sdkHttpFullRequest().build();
SdkHttpFullRequest result = stage.execute(request, context);
assertThat(context.executionAttributes().getAttribute(TIME_OFFSET))
.isEqualTo(httpClientDependencies.timeOffset());

assertThat(result).isSameAs(signedRequest);
// Assert that interceptor context is updated with result
Expand Down Expand Up @@ -206,6 +211,8 @@ public void execute_selectedAuthScheme_nullSigner_doesSraSignAndDoesNotOverrideA

SdkHttpFullRequest request = ValidSdkObjects.sdkHttpFullRequest().build();
SdkHttpFullRequest result = stage.execute(request, context);
assertThat(context.executionAttributes().getAttribute(TIME_OFFSET))
.isEqualTo(httpClientDependencies.timeOffset());

assertThat(result).isSameAs(signedRequest);
// assert that interceptor context is updated with result
Expand Down Expand Up @@ -247,6 +254,8 @@ public void execute_selectedNoAuthAuthScheme_nullSigner_doesSraSign() throws Exc

SdkHttpFullRequest request = ValidSdkObjects.sdkHttpFullRequest().build();
SdkHttpFullRequest result = stage.execute(request, context);
assertThat(context.executionAttributes().getAttribute(TIME_OFFSET))
.isEqualTo(httpClientDependencies.timeOffset());

assertThat(result).isSameAs(signedRequest);
// assert that interceptor context is updated with result
Expand Down