diff --git a/core/auth-crt/pom.xml b/core/auth-crt/pom.xml index 1201eba62511..c43c0f13d480 100644 --- a/core/auth-crt/pom.xml +++ b/core/auth-crt/pom.xml @@ -62,6 +62,11 @@ auth ${awsjavasdk.version} + + software.amazon.awssdk + http-auth-aws + ${awsjavasdk.version} + software.amazon.awssdk.crt aws-crt diff --git a/core/auth-crt/src/main/java/software/amazon/awssdk/authcrt/signer/internal/SigningConfigProvider.java b/core/auth-crt/src/main/java/software/amazon/awssdk/authcrt/signer/internal/SigningConfigProvider.java index 0ed8c1645181..db21558ab647 100644 --- a/core/auth-crt/src/main/java/software/amazon/awssdk/authcrt/signer/internal/SigningConfigProvider.java +++ b/core/auth-crt/src/main/java/software/amazon/awssdk/authcrt/signer/internal/SigningConfigProvider.java @@ -23,9 +23,9 @@ import java.util.Optional; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.auth.signer.AwsSignerExecutionAttribute; -import software.amazon.awssdk.auth.signer.internal.SignerConstant; import software.amazon.awssdk.core.interceptor.ExecutionAttributes; import software.amazon.awssdk.crt.auth.signing.AwsSigningConfig; +import software.amazon.awssdk.http.auth.aws.signer.SignerConstant; import software.amazon.awssdk.regions.RegionScope; @SdkInternalApi @@ -80,7 +80,7 @@ private AwsSigningConfig createPresigningConfig(ExecutionAttributes executionAtt long expirationInSeconds = expirationTime .map(end -> Math.max(0, Duration.between(getSigningClock(executionAttributes).instant(), end).getSeconds())) - .orElse(SignerConstant.PRESIGN_URL_MAX_EXPIRATION_SECONDS); + .orElse(SignerConstant.PRESIGN_URL_MAX_EXPIRATION_DURATION.getSeconds()); AwsSigningConfig signingConfig = createDefaultRequestConfig(executionAttributes); signingConfig.setExpirationInSeconds(expirationInSeconds); diff --git a/core/auth-crt/src/test/java/software/amazon/awssdk/authcrt/signer/internal/SigningConfigProviderTest.java b/core/auth-crt/src/test/java/software/amazon/awssdk/authcrt/signer/internal/SigningConfigProviderTest.java index 49769dcd2b2b..4b6cc9ca9ec1 100644 --- a/core/auth-crt/src/test/java/software/amazon/awssdk/authcrt/signer/internal/SigningConfigProviderTest.java +++ b/core/auth-crt/src/test/java/software/amazon/awssdk/authcrt/signer/internal/SigningConfigProviderTest.java @@ -25,11 +25,11 @@ import org.junit.jupiter.api.Test; import software.amazon.awssdk.auth.signer.AwsSignerExecutionAttribute; import software.amazon.awssdk.auth.signer.S3SignerExecutionAttribute; -import software.amazon.awssdk.auth.signer.internal.SignerConstant; import software.amazon.awssdk.authcrt.signer.SignerTestUtils; import software.amazon.awssdk.authcrt.signer.SigningTestCase; import software.amazon.awssdk.core.interceptor.ExecutionAttributes; import software.amazon.awssdk.crt.auth.signing.AwsSigningConfig; +import software.amazon.awssdk.http.auth.aws.signer.SignerConstant; public class SigningConfigProviderTest { @@ -68,7 +68,7 @@ public void testBasicQuerySigningConfiguration() { assertTrue(signingConfig.getService().equals(testCase.signingName)); assertTrue(signingConfig.getShouldNormalizeUriPath()); assertTrue(signingConfig.getUseDoubleUriEncode()); - assertTrue(signingConfig.getExpirationInSeconds() == SignerConstant.PRESIGN_URL_MAX_EXPIRATION_SECONDS); + assertTrue(signingConfig.getExpirationInSeconds() == SignerConstant.PRESIGN_URL_MAX_EXPIRATION_DURATION.getSeconds()); } @Test diff --git a/core/auth/src/main/java/software/amazon/awssdk/auth/signer/Aws4UnsignedPayloadSigner.java b/core/auth/src/main/java/software/amazon/awssdk/auth/signer/Aws4UnsignedPayloadSigner.java index 9773d81d7645..44de838d872a 100644 --- a/core/auth/src/main/java/software/amazon/awssdk/auth/signer/Aws4UnsignedPayloadSigner.java +++ b/core/auth/src/main/java/software/amazon/awssdk/auth/signer/Aws4UnsignedPayloadSigner.java @@ -15,7 +15,7 @@ package software.amazon.awssdk.auth.signer; -import static software.amazon.awssdk.auth.signer.internal.SignerConstant.X_AMZ_CONTENT_SHA256; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.X_AMZ_CONTENT_SHA256; import software.amazon.awssdk.annotations.SdkPublicApi; import software.amazon.awssdk.auth.signer.internal.BaseAws4Signer; diff --git a/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/AbstractAws4Signer.java b/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/AbstractAws4Signer.java index ff4921bbd217..8eca578b400d 100644 --- a/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/AbstractAws4Signer.java +++ b/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/AbstractAws4Signer.java @@ -46,10 +46,12 @@ import software.amazon.awssdk.core.signer.Presigner; import software.amazon.awssdk.http.SdkHttpFullRequest; import software.amazon.awssdk.http.SdkHttpRequest; +import software.amazon.awssdk.http.auth.aws.signer.SignerConstant; import software.amazon.awssdk.utils.BinaryUtils; import software.amazon.awssdk.utils.Logger; import software.amazon.awssdk.utils.Pair; import software.amazon.awssdk.utils.StringUtils; +import software.amazon.awssdk.utils.cache.FifoCache; import software.amazon.awssdk.utils.http.SdkHttpUtils; /** @@ -332,7 +334,7 @@ private void addPreSignInformationToRequest(SdkHttpFullRequest.Builder mutableRe mutableRequest.putRawQueryParameter(SignerConstant.X_AMZ_ALGORITHM, SignerConstant.AWS4_SIGNING_ALGORITHM); mutableRequest.putRawQueryParameter(SignerConstant.X_AMZ_DATE, signerParams.getFormattedRequestSigningDateTime()); - mutableRequest.putRawQueryParameter(SignerConstant.X_AMZ_SIGNED_HEADER, canonicalRequest.signedHeaderString()); + mutableRequest.putRawQueryParameter(SignerConstant.X_AMZ_SIGNED_HEADERS, canonicalRequest.signedHeaderString()); mutableRequest.putRawQueryParameter(SignerConstant.X_AMZ_EXPIRES, Long.toString(expirationInSeconds)); mutableRequest.putRawQueryParameter(SignerConstant.X_AMZ_CREDENTIAL, signingCredentials); } @@ -375,9 +377,9 @@ private long getSignatureDurationInSeconds(Aws4SignerRequestParams requestParams long expirationInSeconds = signingParams.expirationTime() .map(t -> t.getEpochSecond() - (requestParams.getRequestSigningDateTimeMilli() / 1000)) - .orElse(SignerConstant.PRESIGN_URL_MAX_EXPIRATION_SECONDS); + .orElse(SignerConstant.PRESIGN_URL_MAX_EXPIRATION_DURATION.getSeconds()); - if (expirationInSeconds > SignerConstant.PRESIGN_URL_MAX_EXPIRATION_SECONDS) { + if (expirationInSeconds > SignerConstant.PRESIGN_URL_MAX_EXPIRATION_DURATION.getSeconds()) { throw SdkClientException.builder() .message("Requests that are pre-signed by SigV4 algorithm are valid for at most 7" + " days. The expiration date set on the current request [" + diff --git a/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/AbstractAwsS3V4Signer.java b/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/AbstractAwsS3V4Signer.java index 726e171d0a8d..166016f125b2 100644 --- a/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/AbstractAwsS3V4Signer.java +++ b/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/AbstractAwsS3V4Signer.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.auth.signer.internal; import static software.amazon.awssdk.auth.signer.internal.Aws4SignerUtils.calculateRequestContentLength; -import static software.amazon.awssdk.auth.signer.internal.SignerConstant.X_AMZ_CONTENT_SHA256; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.X_AMZ_CONTENT_SHA256; import java.io.InputStream; import java.util.Optional; diff --git a/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/Aws4SignerRequestParams.java b/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/Aws4SignerRequestParams.java index 8c577e81cde5..485db2ed956d 100644 --- a/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/Aws4SignerRequestParams.java +++ b/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/Aws4SignerRequestParams.java @@ -19,6 +19,7 @@ import java.time.Duration; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.auth.signer.params.Aws4SignerParams; +import software.amazon.awssdk.http.auth.aws.signer.SignerConstant; import software.amazon.awssdk.regions.Region; /** diff --git a/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/BaseAsyncAws4Signer.java b/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/BaseAsyncAws4Signer.java index a25f1845d73e..f5edd6ab9d84 100644 --- a/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/BaseAsyncAws4Signer.java +++ b/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/BaseAsyncAws4Signer.java @@ -26,6 +26,7 @@ import software.amazon.awssdk.core.interceptor.ExecutionAttributes; import software.amazon.awssdk.core.signer.AsyncRequestBodySigner; import software.amazon.awssdk.http.SdkHttpFullRequest; +import software.amazon.awssdk.http.auth.aws.signer.SignerConstant; @SdkInternalApi diff --git a/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/BaseEventStreamAsyncAws4Signer.java b/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/BaseEventStreamAsyncAws4Signer.java index 012ba147a883..a168ea0d061f 100644 --- a/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/BaseEventStreamAsyncAws4Signer.java +++ b/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/BaseEventStreamAsyncAws4Signer.java @@ -15,7 +15,7 @@ package software.amazon.awssdk.auth.signer.internal; -import static software.amazon.awssdk.auth.signer.internal.SignerConstant.X_AMZ_CONTENT_SHA256; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.X_AMZ_CONTENT_SHA256; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; @@ -37,6 +37,7 @@ import software.amazon.awssdk.core.checksums.SdkChecksum; import software.amazon.awssdk.core.interceptor.ExecutionAttributes; import software.amazon.awssdk.http.SdkHttpFullRequest; +import software.amazon.awssdk.http.auth.aws.signer.SignerConstant; import software.amazon.awssdk.utils.BinaryUtils; import software.amazon.awssdk.utils.Logger; import software.amazon.eventstream.HeaderValue; diff --git a/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/BoundedLinkedHashMap.java b/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/BoundedLinkedHashMap.java deleted file mode 100644 index 20d2d75bd070..000000000000 --- a/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/BoundedLinkedHashMap.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -package software.amazon.awssdk.auth.signer.internal; - -import java.util.LinkedHashMap; -import java.util.Map; -import software.amazon.awssdk.annotations.SdkInternalApi; - -/** - * A bounded linked hash map that would remove the eldest entry when the map - * size exceeds a configurable maximum. - */ -@SdkInternalApi -final class BoundedLinkedHashMap extends LinkedHashMap { - private static final long serialVersionUID = 1L; - private final int maxSize; - - BoundedLinkedHashMap(int maxSize) { - this.maxSize = maxSize; - } - - /** - * {@inheritDoc} - * - * Returns true if the size of this map exceeds the maximum. - */ - @Override - protected boolean removeEldestEntry(Map.Entry eldest) { - return size() > maxSize; - } - - /** - * Returns the maximum size of this map beyond which the eldest entry - * will get removed. - */ - int getMaxSize() { - return maxSize; - } -} diff --git a/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/FifoCache.java b/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/FifoCache.java deleted file mode 100644 index ccb3b108915d..000000000000 --- a/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/FifoCache.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -package software.amazon.awssdk.auth.signer.internal; - -import java.util.concurrent.locks.ReentrantReadWriteLock; -import java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock; -import java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock; -import software.amazon.awssdk.annotations.SdkInternalApi; -import software.amazon.awssdk.annotations.ThreadSafe; - -/** - * A bounded cache that has a FIFO eviction policy when the cache is full. - * - * @param - * value type - */ -@ThreadSafe -@SdkInternalApi -public final class FifoCache { - private final BoundedLinkedHashMap map; - private final ReadLock rlock; - private final WriteLock wlock; - - /** - * @param maxSize - * the maximum number of entries of the cache - */ - public FifoCache(final int maxSize) { - if (maxSize < 1) { - throw new IllegalArgumentException("maxSize " + maxSize - + " must be at least 1"); - } - map = new BoundedLinkedHashMap<>(maxSize); - ReentrantReadWriteLock lock = new ReentrantReadWriteLock(); - rlock = lock.readLock(); - wlock = lock.writeLock(); - } - - /** - * Adds an entry to the cache, evicting the earliest entry if necessary. - */ - public T add(String key, T value) { - wlock.lock(); - try { - return map.put(key, value); - } finally { - wlock.unlock(); - } - } - - /** Returns the value of the given key; or null of no such entry exists. */ - public T get(String key) { - rlock.lock(); - try { - return map.get(key); - } finally { - rlock.unlock(); - } - } - - /** - * Returns the current size of the cache. - */ - public int size() { - rlock.lock(); - try { - return map.size(); - } finally { - rlock.unlock(); - } - } - - /** - * Returns the maximum size of the cache. - */ - public int getMaxSize() { - return map.getMaxSize(); - } - - @Override - public String toString() { - rlock.lock(); - try { - return map.toString(); - } finally { - rlock.unlock(); - } - } -} diff --git a/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/SignerConstant.java b/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/SignerConstant.java deleted file mode 100644 index 5118f6fbfcce..000000000000 --- a/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/SignerConstant.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -package software.amazon.awssdk.auth.signer.internal; - -import software.amazon.awssdk.annotations.SdkInternalApi; - -@SdkInternalApi -public final class SignerConstant { - - public static final String AWS4_TERMINATOR = "aws4_request"; - - public static final String AWS4_SIGNING_ALGORITHM = "AWS4-HMAC-SHA256"; - - /** Seconds in a week, which is the max expiration time Sig-v4 accepts. */ - public static final long PRESIGN_URL_MAX_EXPIRATION_SECONDS = 60L * 60 * 24 * 7; - - public static final String X_AMZ_CONTENT_SHA256 = "x-amz-content-sha256"; - - public static final String AUTHORIZATION = "Authorization"; - - static final String X_AMZ_SECURITY_TOKEN = "X-Amz-Security-Token"; - - static final String X_AMZ_CREDENTIAL = "X-Amz-Credential"; - - static final String X_AMZ_DATE = "X-Amz-Date"; - - static final String X_AMZ_EXPIRES = "X-Amz-Expires"; - - static final String X_AMZ_SIGNED_HEADER = "X-Amz-SignedHeaders"; - - static final String X_AMZ_SIGNATURE = "X-Amz-Signature"; - - static final String X_AMZ_ALGORITHM = "X-Amz-Algorithm"; - - static final String HOST = "Host"; - - static final String LINE_SEPARATOR = "\n"; - - private SignerConstant() { - } -} diff --git a/core/auth/src/main/java/software/amazon/awssdk/auth/signer/params/Aws4PresignerParams.java b/core/auth/src/main/java/software/amazon/awssdk/auth/signer/params/Aws4PresignerParams.java index 590d959c0aa1..a2d8b17a7e77 100644 --- a/core/auth/src/main/java/software/amazon/awssdk/auth/signer/params/Aws4PresignerParams.java +++ b/core/auth/src/main/java/software/amazon/awssdk/auth/signer/params/Aws4PresignerParams.java @@ -18,7 +18,7 @@ import java.time.Instant; import java.util.Optional; import software.amazon.awssdk.annotations.SdkPublicApi; -import software.amazon.awssdk.auth.signer.internal.SignerConstant; +import software.amazon.awssdk.http.auth.aws.signer.SignerConstant; import software.amazon.awssdk.utils.builder.CopyableBuilder; import software.amazon.awssdk.utils.builder.ToCopyableBuilder; @@ -51,7 +51,7 @@ public interface Builder extends Aws4SignerParams.Builder, CopyableBuil /** * Sets an expiration time for the presigned url. If this value is not specified, - * {@link SignerConstant#PRESIGN_URL_MAX_EXPIRATION_SECONDS} is used. + * {@link SignerConstant#PRESIGN_URL_MAX_EXPIRATION_DURATION} is used. * * @param expirationTime Expiration time for the presigned url expressed in {@link Instant}. */ diff --git a/core/auth/src/main/java/software/amazon/awssdk/auth/token/signer/aws/BearerTokenSigner.java b/core/auth/src/main/java/software/amazon/awssdk/auth/token/signer/aws/BearerTokenSigner.java index 9d8e6040ccdd..08cb01bb718d 100644 --- a/core/auth/src/main/java/software/amazon/awssdk/auth/token/signer/aws/BearerTokenSigner.java +++ b/core/auth/src/main/java/software/amazon/awssdk/auth/token/signer/aws/BearerTokenSigner.java @@ -16,7 +16,6 @@ package software.amazon.awssdk.auth.token.signer.aws; import software.amazon.awssdk.annotations.SdkPublicApi; -import software.amazon.awssdk.auth.signer.internal.SignerConstant; import software.amazon.awssdk.auth.signer.params.TokenSignerParams; import software.amazon.awssdk.auth.token.credentials.SdkToken; import software.amazon.awssdk.auth.token.signer.SdkTokenExecutionAttribute; @@ -24,6 +23,7 @@ import software.amazon.awssdk.core.interceptor.ExecutionAttributes; import software.amazon.awssdk.core.signer.Signer; import software.amazon.awssdk.http.SdkHttpFullRequest; +import software.amazon.awssdk.http.auth.aws.signer.SignerConstant; /** * A {@link Signer} that will sign a request with Bearer token authorization. diff --git a/core/auth/src/test/java/software/amazon/awssdk/auth/signer/Aws4SignerTest.java b/core/auth/src/test/java/software/amazon/awssdk/auth/signer/Aws4SignerTest.java index cfbf3263f0a6..1487a9530a56 100644 --- a/core/auth/src/test/java/software/amazon/awssdk/auth/signer/Aws4SignerTest.java +++ b/core/auth/src/test/java/software/amazon/awssdk/auth/signer/Aws4SignerTest.java @@ -39,8 +39,8 @@ import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.AwsCredentials; import software.amazon.awssdk.auth.signer.internal.Aws4SignerUtils; -import software.amazon.awssdk.auth.signer.internal.SignerConstant; import software.amazon.awssdk.auth.signer.params.SignerChecksumParams; +import software.amazon.awssdk.http.auth.aws.signer.SignerConstant; import software.amazon.awssdk.auth.signer.internal.SignerTestUtils; import software.amazon.awssdk.core.checksums.Algorithm; import software.amazon.awssdk.http.SdkHttpFullRequest; diff --git a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/crt/internal/signer/AwsChunkedV4aPayloadSigner.java b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/crt/internal/signer/AwsChunkedV4aPayloadSigner.java index de5d16b92799..561dc2b60345 100644 --- a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/crt/internal/signer/AwsChunkedV4aPayloadSigner.java +++ b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/crt/internal/signer/AwsChunkedV4aPayloadSigner.java @@ -17,11 +17,11 @@ import static software.amazon.awssdk.http.auth.aws.internal.signer.util.ChecksumUtil.checksumHeaderName; import static software.amazon.awssdk.http.auth.aws.internal.signer.util.ChecksumUtil.fromChecksumAlgorithm; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.STREAMING_ECDSA_SIGNED_PAYLOAD; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.STREAMING_ECDSA_SIGNED_PAYLOAD_TRAILER; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.STREAMING_UNSIGNED_PAYLOAD_TRAILER; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.X_AMZ_TRAILER; import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerUtils.moveContentLength; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.STREAMING_ECDSA_SIGNED_PAYLOAD; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.STREAMING_ECDSA_SIGNED_PAYLOAD_TRAILER; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.STREAMING_UNSIGNED_PAYLOAD_TRAILER; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.X_AMZ_TRAILER; import java.io.InputStream; import java.nio.charset.StandardCharsets; diff --git a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/crt/internal/signer/DefaultAwsCrtV4aHttpSigner.java b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/crt/internal/signer/DefaultAwsCrtV4aHttpSigner.java index af2a14e93823..f1df025f096a 100644 --- a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/crt/internal/signer/DefaultAwsCrtV4aHttpSigner.java +++ b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/crt/internal/signer/DefaultAwsCrtV4aHttpSigner.java @@ -31,8 +31,8 @@ import static software.amazon.awssdk.http.auth.aws.internal.signer.util.ChecksumUtil.useChunkEncoding; import static software.amazon.awssdk.http.auth.aws.internal.signer.util.CredentialUtils.isAnonymous; import static software.amazon.awssdk.http.auth.aws.internal.signer.util.CredentialUtils.sanitizeCredentials; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.PRESIGN_URL_MAX_EXPIRATION_DURATION; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.X_AMZ_TRAILER; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.PRESIGN_URL_MAX_EXPIRATION_DURATION; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.X_AMZ_TRAILER; import static software.amazon.awssdk.http.auth.spi.signer.SdkInternalHttpSignerProperty.CHECKSUM_STORE; import java.time.Clock; diff --git a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/crt/internal/util/CrtHttpRequestConverter.java b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/crt/internal/util/CrtHttpRequestConverter.java index fd0bb010fd8f..f46b1bebd284 100644 --- a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/crt/internal/util/CrtHttpRequestConverter.java +++ b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/crt/internal/util/CrtHttpRequestConverter.java @@ -15,7 +15,7 @@ package software.amazon.awssdk.http.auth.aws.crt.internal.util; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.HOST; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.HOST; import java.io.ByteArrayInputStream; import java.net.URI; diff --git a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/crt/internal/util/CrtUtils.java b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/crt/internal/util/CrtUtils.java index 64004f12cf86..e77960ffe76b 100644 --- a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/crt/internal/util/CrtUtils.java +++ b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/crt/internal/util/CrtUtils.java @@ -15,14 +15,14 @@ package software.amazon.awssdk.http.auth.aws.crt.internal.util; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.AUTHORIZATION; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.HOST; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.X_AMZ_ALGORITHM; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.X_AMZ_CREDENTIAL; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.X_AMZ_DATE; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.X_AMZ_EXPIRES; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.X_AMZ_SIGNATURE; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.X_AMZ_SIGNED_HEADERS; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.AUTHORIZATION; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.HOST; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.X_AMZ_ALGORITHM; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.X_AMZ_CREDENTIAL; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.X_AMZ_DATE; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.X_AMZ_EXPIRES; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.X_AMZ_SIGNATURE; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.X_AMZ_SIGNED_HEADERS; import java.nio.charset.StandardCharsets; import java.util.Optional; diff --git a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/eventstream/internal/io/SigV4DataFramePublisher.java b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/eventstream/internal/io/SigV4DataFramePublisher.java index 04d25964b509..d97ad1884f2c 100644 --- a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/eventstream/internal/io/SigV4DataFramePublisher.java +++ b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/eventstream/internal/io/SigV4DataFramePublisher.java @@ -32,7 +32,7 @@ import org.reactivestreams.Subscriber; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.http.auth.aws.internal.signer.CredentialScope; -import software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant; +import software.amazon.awssdk.http.auth.aws.signer.SignerConstant; import software.amazon.awssdk.identity.spi.AwsCredentialsIdentity; import software.amazon.awssdk.utils.BinaryUtils; import software.amazon.awssdk.utils.Logger; diff --git a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/AwsChunkedV4PayloadSigner.java b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/AwsChunkedV4PayloadSigner.java index 8e2e3a3a168b..27970f3d7244 100644 --- a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/AwsChunkedV4PayloadSigner.java +++ b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/AwsChunkedV4PayloadSigner.java @@ -17,14 +17,14 @@ import static software.amazon.awssdk.http.auth.aws.internal.signer.util.ChecksumUtil.checksumHeaderName; import static software.amazon.awssdk.http.auth.aws.internal.signer.util.ChecksumUtil.fromChecksumAlgorithm; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.AWS_CHUNKED; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.CONTENT_ENCODING; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.STREAMING_SIGNED_PAYLOAD; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.STREAMING_SIGNED_PAYLOAD_TRAILER; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.STREAMING_UNSIGNED_PAYLOAD_TRAILER; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.X_AMZ_CONTENT_SHA256; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.X_AMZ_TRAILER; import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerUtils.moveContentLength; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.AWS_CHUNKED; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.CONTENT_ENCODING; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.STREAMING_SIGNED_PAYLOAD; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.STREAMING_SIGNED_PAYLOAD_TRAILER; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.STREAMING_UNSIGNED_PAYLOAD_TRAILER; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.X_AMZ_CONTENT_SHA256; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.X_AMZ_TRAILER; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; diff --git a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/Checksummer.java b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/Checksummer.java index 32f73a37d865..3eb50b3d7be4 100644 --- a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/Checksummer.java +++ b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/Checksummer.java @@ -19,7 +19,7 @@ import static software.amazon.awssdk.http.auth.aws.internal.signer.FlexibleChecksummer.option; import static software.amazon.awssdk.http.auth.aws.internal.signer.util.ChecksumUtil.ConstantChecksumAlgorithm; import static software.amazon.awssdk.http.auth.aws.internal.signer.util.ChecksumUtil.checksumHeaderName; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.X_AMZ_CONTENT_SHA256; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.X_AMZ_CONTENT_SHA256; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; diff --git a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/CredentialScope.java b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/CredentialScope.java index 2bafec156174..8d7eec9bac32 100644 --- a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/CredentialScope.java +++ b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/CredentialScope.java @@ -16,9 +16,9 @@ package software.amazon.awssdk.http.auth.aws.internal.signer; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.AWS4_TERMINATOR; import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerUtils.formatDate; import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerUtils.formatDateTime; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.AWS4_TERMINATOR; import java.time.Instant; import software.amazon.awssdk.annotations.Immutable; diff --git a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/DefaultAwsV4HttpSigner.java b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/DefaultAwsV4HttpSigner.java index 66ee6d4cf733..76a58f9c35d4 100644 --- a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/DefaultAwsV4HttpSigner.java +++ b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/DefaultAwsV4HttpSigner.java @@ -22,8 +22,8 @@ import static software.amazon.awssdk.http.auth.aws.internal.signer.util.ChecksumUtil.useChunkEncoding; import static software.amazon.awssdk.http.auth.aws.internal.signer.util.CredentialUtils.sanitizeCredentials; import static software.amazon.awssdk.http.auth.aws.internal.signer.util.OptionalDependencyLoaderUtil.getEventStreamV4PayloadSigner; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.PRESIGN_URL_MAX_EXPIRATION_DURATION; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.X_AMZ_TRAILER; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.PRESIGN_URL_MAX_EXPIRATION_DURATION; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.X_AMZ_TRAILER; import static software.amazon.awssdk.http.auth.spi.signer.SdkInternalHttpSignerProperty.CHECKSUM_STORE; import java.time.Clock; diff --git a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/DefaultV4RequestSigner.java b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/DefaultV4RequestSigner.java index 21565d43551e..37b221f9b3b4 100644 --- a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/DefaultV4RequestSigner.java +++ b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/DefaultV4RequestSigner.java @@ -15,14 +15,14 @@ package software.amazon.awssdk.http.auth.aws.internal.signer; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.AWS4_SIGNING_ALGORITHM; import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerUtils.deriveSigningKey; import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerUtils.hashCanonicalRequest; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.AWS4_SIGNING_ALGORITHM; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.http.SdkHttpRequest; -import software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant; import software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerUtils; +import software.amazon.awssdk.http.auth.aws.signer.SignerConstant; import software.amazon.awssdk.utils.BinaryUtils; import software.amazon.awssdk.utils.Logger; diff --git a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/PrecomputedSha256Checksummer.java b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/PrecomputedSha256Checksummer.java index d2d84f34aaff..f5568b0967d5 100644 --- a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/PrecomputedSha256Checksummer.java +++ b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/PrecomputedSha256Checksummer.java @@ -15,7 +15,7 @@ package software.amazon.awssdk.http.auth.aws.internal.signer; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.X_AMZ_CONTENT_SHA256; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.X_AMZ_CONTENT_SHA256; import java.nio.ByteBuffer; import java.util.concurrent.Callable; diff --git a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/V4CanonicalRequest.java b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/V4CanonicalRequest.java index 4c3501a8ed6a..227154c60d33 100644 --- a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/V4CanonicalRequest.java +++ b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/V4CanonicalRequest.java @@ -28,7 +28,7 @@ import software.amazon.awssdk.annotations.Immutable; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.http.SdkHttpRequest; -import software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant; +import software.amazon.awssdk.http.auth.aws.signer.SignerConstant; import software.amazon.awssdk.utils.Pair; import software.amazon.awssdk.utils.StringUtils; import software.amazon.awssdk.utils.http.SdkHttpUtils; diff --git a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/V4RequestSigner.java b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/V4RequestSigner.java index 67ae2af1767e..f2787ae32e5e 100644 --- a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/V4RequestSigner.java +++ b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/V4RequestSigner.java @@ -17,18 +17,18 @@ import static software.amazon.awssdk.http.auth.aws.internal.signer.V4CanonicalRequest.getCanonicalHeaders; import static software.amazon.awssdk.http.auth.aws.internal.signer.V4CanonicalRequest.getSignedHeadersString; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.AWS4_SIGNING_ALGORITHM; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.X_AMZ_CONTENT_SHA256; import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerUtils.addDateHeader; import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerUtils.addHostHeader; import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerUtils.formatDateTime; import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerUtils.getContentHash; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.AWS4_SIGNING_ALGORITHM; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.X_AMZ_CONTENT_SHA256; import java.time.Duration; import java.util.List; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.http.SdkHttpRequest; -import software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant; +import software.amazon.awssdk.http.auth.aws.signer.SignerConstant; import software.amazon.awssdk.identity.spi.AwsSessionCredentialsIdentity; import software.amazon.awssdk.utils.Pair; diff --git a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/ChecksumUtil.java b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/ChecksumUtil.java index fbe8aa1c1e12..03a55eb55cdd 100644 --- a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/ChecksumUtil.java +++ b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/ChecksumUtil.java @@ -15,15 +15,15 @@ package software.amazon.awssdk.http.auth.aws.internal.signer.util; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.STREAMING_EVENTS_PAYLOAD; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.STREAMING_SIGNED_PAYLOAD; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.STREAMING_SIGNED_PAYLOAD_TRAILER; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.STREAMING_UNSIGNED_PAYLOAD_TRAILER; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.UNSIGNED_PAYLOAD; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.X_AMZ_TRAILER; import static software.amazon.awssdk.http.auth.aws.signer.AwsV4FamilyHttpSigner.CHECKSUM_ALGORITHM; import static software.amazon.awssdk.http.auth.aws.signer.AwsV4FamilyHttpSigner.CHUNK_ENCODING_ENABLED; import static software.amazon.awssdk.http.auth.aws.signer.AwsV4FamilyHttpSigner.PAYLOAD_SIGNING_ENABLED; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.STREAMING_EVENTS_PAYLOAD; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.STREAMING_SIGNED_PAYLOAD; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.STREAMING_SIGNED_PAYLOAD_TRAILER; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.STREAMING_UNSIGNED_PAYLOAD_TRAILER; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.UNSIGNED_PAYLOAD; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.X_AMZ_TRAILER; import java.io.InputStream; import java.nio.ByteBuffer; diff --git a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/SignerUtils.java b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/SignerUtils.java index e4e0b711eb9e..80ef9b088a70 100644 --- a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/SignerUtils.java +++ b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/SignerUtils.java @@ -15,8 +15,8 @@ package software.amazon.awssdk.http.auth.aws.internal.signer.util; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.X_AMZ_CONTENT_SHA256; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.X_AMZ_DECODED_CONTENT_LENGTH; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.X_AMZ_CONTENT_SHA256; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.X_AMZ_DECODED_CONTENT_LENGTH; import java.io.ByteArrayInputStream; import java.io.InputStream; @@ -34,9 +34,11 @@ import software.amazon.awssdk.http.Header; import software.amazon.awssdk.http.SdkHttpRequest; import software.amazon.awssdk.http.auth.aws.internal.signer.CredentialScope; +import software.amazon.awssdk.http.auth.aws.signer.SignerConstant; import software.amazon.awssdk.identity.spi.AwsCredentialsIdentity; import software.amazon.awssdk.utils.BinaryUtils; import software.amazon.awssdk.utils.Logger; +import software.amazon.awssdk.utils.cache.FifoCache; import software.amazon.awssdk.utils.http.SdkHttpUtils; /** diff --git a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/SignerConstant.java b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/signer/SignerConstant.java similarity index 95% rename from core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/SignerConstant.java rename to core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/signer/SignerConstant.java index 771fab2b4db6..70c074ad8fc7 100644 --- a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/SignerConstant.java +++ b/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/signer/SignerConstant.java @@ -13,12 +13,12 @@ * permissions and limitations under the License. */ -package software.amazon.awssdk.http.auth.aws.internal.signer.util; +package software.amazon.awssdk.http.auth.aws.signer; import java.time.Duration; -import software.amazon.awssdk.annotations.SdkInternalApi; +import software.amazon.awssdk.annotations.SdkProtectedApi; -@SdkInternalApi +@SdkProtectedApi public final class SignerConstant { public static final String AWS4_TERMINATOR = "aws4_request"; diff --git a/core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/crt/internal/signer/AwsChunkedV4aPayloadSignerTest.java b/core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/crt/internal/signer/AwsChunkedV4aPayloadSignerTest.java index a46ae3c181d3..1c1e1a7ff747 100644 --- a/core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/crt/internal/signer/AwsChunkedV4aPayloadSignerTest.java +++ b/core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/crt/internal/signer/AwsChunkedV4aPayloadSignerTest.java @@ -19,9 +19,9 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static software.amazon.awssdk.checksums.DefaultChecksumAlgorithm.CRC32; import static software.amazon.awssdk.http.auth.aws.crt.internal.util.CrtUtils.toCredentials; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.STREAMING_ECDSA_SIGNED_PAYLOAD; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.STREAMING_ECDSA_SIGNED_PAYLOAD_TRAILER; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.STREAMING_UNSIGNED_PAYLOAD_TRAILER; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.STREAMING_ECDSA_SIGNED_PAYLOAD; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.STREAMING_ECDSA_SIGNED_PAYLOAD_TRAILER; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.STREAMING_UNSIGNED_PAYLOAD_TRAILER; import java.io.ByteArrayInputStream; import java.io.IOException; diff --git a/core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/internal/signer/DefaultAwsV4HttpSignerTest.java b/core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/internal/signer/DefaultAwsV4HttpSignerTest.java index ebd139e67963..e6d34f3dc388 100644 --- a/core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/internal/signer/DefaultAwsV4HttpSignerTest.java +++ b/core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/internal/signer/DefaultAwsV4HttpSignerTest.java @@ -22,7 +22,7 @@ import static software.amazon.awssdk.http.auth.aws.TestUtils.generateBasicAsyncRequest; import static software.amazon.awssdk.http.auth.aws.TestUtils.generateBasicRequest; import static software.amazon.awssdk.http.auth.aws.TestUtils.testPayload; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.CONTENT_ENCODING; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.CONTENT_ENCODING; import static software.amazon.awssdk.http.auth.aws.signer.AwsV4HttpSigner.AUTH_LOCATION; import static software.amazon.awssdk.http.auth.aws.signer.AwsV4HttpSigner.CHECKSUM_ALGORITHM; import static software.amazon.awssdk.http.auth.aws.signer.AwsV4HttpSigner.CHUNK_ENCODING_ENABLED; @@ -34,7 +34,6 @@ import java.net.URI; import java.nio.charset.StandardCharsets; import java.time.Duration; -import java.util.Optional; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; diff --git a/core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/internal/signer/V4RequestSignerTest.java b/core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/internal/signer/V4RequestSignerTest.java index 238ed41af9be..37e950be6e20 100644 --- a/core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/internal/signer/V4RequestSignerTest.java +++ b/core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/internal/signer/V4RequestSignerTest.java @@ -30,7 +30,7 @@ import org.junit.jupiter.api.Test; import software.amazon.awssdk.http.SdkHttpMethod; import software.amazon.awssdk.http.SdkHttpRequest; -import software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant; +import software.amazon.awssdk.http.auth.aws.signer.SignerConstant; import software.amazon.awssdk.identity.spi.AwsCredentialsIdentity; import software.amazon.awssdk.identity.spi.AwsSessionCredentialsIdentity; diff --git a/core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/internal/signer/chunkedencoding/ChunkedEncodedInputStreamTest.java b/core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/internal/signer/chunkedencoding/ChunkedEncodedInputStreamTest.java index 131468a4e28d..271c32f0f6ba 100644 --- a/core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/internal/signer/chunkedencoding/ChunkedEncodedInputStreamTest.java +++ b/core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/internal/signer/chunkedencoding/ChunkedEncodedInputStreamTest.java @@ -38,7 +38,7 @@ import org.junit.jupiter.params.provider.ValueSource; import software.amazon.awssdk.http.auth.aws.internal.signer.CredentialScope; import software.amazon.awssdk.http.auth.aws.internal.signer.RollingSigner; -import software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant; +import software.amazon.awssdk.http.auth.aws.signer.SignerConstant; import software.amazon.awssdk.identity.spi.AwsCredentialsIdentity; import software.amazon.awssdk.utils.Pair; diff --git a/core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/FifoCacheTest.java b/core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/FifoCacheTest.java index e33e53f37cf8..dacbed9b952e 100644 --- a/core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/FifoCacheTest.java +++ b/core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/FifoCacheTest.java @@ -20,6 +20,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows; import org.junit.jupiter.api.Test; +import software.amazon.awssdk.utils.cache.FifoCache; public class FifoCacheTest { diff --git a/core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/SignerUtilsTest.java b/core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/SignerUtilsTest.java index 5fb5ffd284d4..4cc798559d1d 100644 --- a/core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/SignerUtilsTest.java +++ b/core/http-auth-aws/src/test/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/SignerUtilsTest.java @@ -17,7 +17,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static software.amazon.awssdk.http.Header.CONTENT_LENGTH; -import static software.amazon.awssdk.http.auth.aws.internal.signer.util.SignerConstant.X_AMZ_DECODED_CONTENT_LENGTH; +import static software.amazon.awssdk.http.auth.aws.signer.SignerConstant.X_AMZ_DECODED_CONTENT_LENGTH; import java.io.ByteArrayInputStream; import java.io.InputStream; diff --git a/services/s3/src/test/java/software/amazon/awssdk/services/s3/S3PresignerTest.java b/services/s3/src/test/java/software/amazon/awssdk/services/s3/S3PresignerTest.java index ddd09c1d134f..cdf9351ffe6f 100644 --- a/services/s3/src/test/java/software/amazon/awssdk/services/s3/S3PresignerTest.java +++ b/services/s3/src/test/java/software/amazon/awssdk/services/s3/S3PresignerTest.java @@ -40,13 +40,13 @@ import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; import software.amazon.awssdk.auth.signer.AwsS3V4Signer; import software.amazon.awssdk.auth.signer.internal.AbstractAwsS3V4Signer; -import software.amazon.awssdk.auth.signer.internal.SignerConstant; import software.amazon.awssdk.auth.signer.params.Aws4PresignerParams; import software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration; import software.amazon.awssdk.core.SdkSystemSetting; import software.amazon.awssdk.core.exception.SdkClientException; import software.amazon.awssdk.core.signer.NoOpSigner; import software.amazon.awssdk.http.SdkHttpFullRequest; +import software.amazon.awssdk.http.auth.aws.signer.SignerConstant; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3.model.CreateSessionRequest; import software.amazon.awssdk.services.s3.model.CreateSessionResponse; diff --git a/services/s3/src/test/java/software/amazon/awssdk/services/s3/functionaltests/MultiRegionAccessPointSigningFunctionalTest.java b/services/s3/src/test/java/software/amazon/awssdk/services/s3/functionaltests/MultiRegionAccessPointSigningFunctionalTest.java index 08e5be5e094d..0f5ecaaf6ae4 100644 --- a/services/s3/src/test/java/software/amazon/awssdk/services/s3/functionaltests/MultiRegionAccessPointSigningFunctionalTest.java +++ b/services/s3/src/test/java/software/amazon/awssdk/services/s3/functionaltests/MultiRegionAccessPointSigningFunctionalTest.java @@ -27,11 +27,11 @@ import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; import software.amazon.awssdk.auth.signer.AwsS3V4Signer; -import software.amazon.awssdk.auth.signer.internal.SignerConstant; import software.amazon.awssdk.authcrt.signer.internal.DefaultAwsCrtS3V4aSigner; import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration; import software.amazon.awssdk.core.client.config.SdkAdvancedClientOption; import software.amazon.awssdk.core.signer.Signer; +import software.amazon.awssdk.http.auth.aws.signer.SignerConstant; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3.S3Client; import software.amazon.awssdk.services.s3.S3ClientBuilder; diff --git a/services/s3control/src/it/java/software.amazon.awssdk.services.s3control/S3MrapIntegrationTest.java b/services/s3control/src/it/java/software.amazon.awssdk.services.s3control/S3MrapIntegrationTest.java index 2941c1e2cf8b..3fac572e29d9 100644 --- a/services/s3control/src/it/java/software.amazon.awssdk.services.s3control/S3MrapIntegrationTest.java +++ b/services/s3control/src/it/java/software.amazon.awssdk.services.s3control/S3MrapIntegrationTest.java @@ -32,7 +32,6 @@ import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; import software.amazon.awssdk.auth.signer.AwsSignerExecutionAttribute; -import software.amazon.awssdk.auth.signer.internal.SignerConstant; import software.amazon.awssdk.awscore.presigner.PresignedRequest; import software.amazon.awssdk.core.SdkPlugin; import software.amazon.awssdk.core.interceptor.Context; @@ -46,6 +45,7 @@ import software.amazon.awssdk.http.HttpExecuteResponse; import software.amazon.awssdk.http.SdkHttpRequest; import software.amazon.awssdk.http.apache.ApacheHttpClient; +import software.amazon.awssdk.http.auth.aws.signer.SignerConstant; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3.S3AsyncClient; import software.amazon.awssdk.services.s3.S3Client; diff --git a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/FifoCache.java b/utils/src/main/java/software/amazon/awssdk/utils/cache/FifoCache.java similarity index 93% rename from core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/FifoCache.java rename to utils/src/main/java/software/amazon/awssdk/utils/cache/FifoCache.java index 4ca9ff526f16..ed52aa3f260f 100644 --- a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/FifoCache.java +++ b/utils/src/main/java/software/amazon/awssdk/utils/cache/FifoCache.java @@ -13,13 +13,14 @@ * permissions and limitations under the License. */ -package software.amazon.awssdk.http.auth.aws.internal.signer.util; +package software.amazon.awssdk.utils.cache; import java.util.concurrent.locks.ReentrantReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock; import java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock; -import software.amazon.awssdk.annotations.SdkInternalApi; +import software.amazon.awssdk.annotations.SdkProtectedApi; import software.amazon.awssdk.annotations.ThreadSafe; +import software.amazon.awssdk.utils.internal.BoundedLinkedHashMap; /** * A bounded cache that has a FIFO eviction policy when the cache is full. @@ -27,7 +28,7 @@ * @param value type */ @ThreadSafe -@SdkInternalApi +@SdkProtectedApi public final class FifoCache { private final BoundedLinkedHashMap map; private final ReadLock rlock; diff --git a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/BoundedLinkedHashMap.java b/utils/src/main/java/software/amazon/awssdk/utils/internal/BoundedLinkedHashMap.java similarity index 86% rename from core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/BoundedLinkedHashMap.java rename to utils/src/main/java/software/amazon/awssdk/utils/internal/BoundedLinkedHashMap.java index 720c3f51d163..0a14fcd41a91 100644 --- a/core/http-auth-aws/src/main/java/software/amazon/awssdk/http/auth/aws/internal/signer/util/BoundedLinkedHashMap.java +++ b/utils/src/main/java/software/amazon/awssdk/utils/internal/BoundedLinkedHashMap.java @@ -13,7 +13,7 @@ * permissions and limitations under the License. */ -package software.amazon.awssdk.http.auth.aws.internal.signer.util; +package software.amazon.awssdk.utils.internal; import java.util.LinkedHashMap; import java.util.Map; @@ -23,11 +23,11 @@ * A bounded linked hash map that would remove the eldest entry when the map size exceeds a configurable maximum. */ @SdkInternalApi -final class BoundedLinkedHashMap extends LinkedHashMap { +public final class BoundedLinkedHashMap extends LinkedHashMap { private static final long serialVersionUID = 1L; private final int maxSize; - BoundedLinkedHashMap(int maxSize) { + public BoundedLinkedHashMap(int maxSize) { this.maxSize = maxSize; } @@ -44,7 +44,7 @@ protected boolean removeEldestEntry(Map.Entry eldest) { /** * Returns the maximum size of this map beyond which the eldest entry will get removed. */ - int getMaxSize() { + public int getMaxSize() { return maxSize; } } diff --git a/core/auth/src/test/java/software/amazon/awssdk/auth/signer/internal/FifoCacheTest.java b/utils/src/test/java/software/amazon/awssdk/utils/cache/FifoCacheTest.java similarity index 97% rename from core/auth/src/test/java/software/amazon/awssdk/auth/signer/internal/FifoCacheTest.java rename to utils/src/test/java/software/amazon/awssdk/utils/cache/FifoCacheTest.java index 7988bc17db3e..b9790777cf8a 100644 --- a/core/auth/src/test/java/software/amazon/awssdk/auth/signer/internal/FifoCacheTest.java +++ b/utils/src/test/java/software/amazon/awssdk/utils/cache/FifoCacheTest.java @@ -13,7 +13,7 @@ * permissions and limitations under the License. */ -package software.amazon.awssdk.auth.signer.internal; +package software.amazon.awssdk.utils.cache; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull;