Skip to content

Commit a2347c7

Browse files
authored
feat: add toBuilder and S3 Express signing algorithm (#90)
* Add `toBuilder` and S3 Express signing algorithm * Changelog
1 parent 1974bbe commit a2347c7

File tree

4 files changed

+27
-0
lines changed

4 files changed

+27
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"id": "87608337-174a-46aa-add3-8ec1370c737c",
3+
"type": "feature",
4+
"description": "Add SIGV4_S3EXPRESS signing algorithm and AwsSigningConfig.toBuilder function"
5+
}

aws-crt-kotlin/api/android/aws-crt-kotlin.api

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,7 @@ public final class aws/sdk/kotlin/crt/auth/signing/AwsSigner {
319319
public final class aws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm : java/lang/Enum {
320320
public static final field SIGV4 Laws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm;
321321
public static final field SIGV4_ASYMMETRIC Laws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm;
322+
public static final field SIGV4_S3EXPRESS Laws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm;
322323
public static fun getEntries ()Lkotlin/enums/EnumEntries;
323324
public final fun getValue ()I
324325
public static fun valueOf (Ljava/lang/String;)Laws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm;
@@ -342,6 +343,7 @@ public final class aws/sdk/kotlin/crt/auth/signing/AwsSigningConfig {
342343
public final fun getSignedBodyHeader ()Laws/sdk/kotlin/crt/auth/signing/AwsSignedBodyHeaderType;
343344
public final fun getSignedBodyValue ()Ljava/lang/String;
344345
public final fun getUseDoubleUriEncode ()Z
346+
public final fun toBuilder ()Laws/sdk/kotlin/crt/auth/signing/AwsSigningConfig$Builder;
345347
}
346348

347349
public final class aws/sdk/kotlin/crt/auth/signing/AwsSigningConfig$Builder {

aws-crt-kotlin/api/jvm/aws-crt-kotlin.api

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,7 @@ public final class aws/sdk/kotlin/crt/auth/signing/AwsSigner {
319319
public final class aws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm : java/lang/Enum {
320320
public static final field SIGV4 Laws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm;
321321
public static final field SIGV4_ASYMMETRIC Laws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm;
322+
public static final field SIGV4_S3EXPRESS Laws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm;
322323
public static fun getEntries ()Lkotlin/enums/EnumEntries;
323324
public final fun getValue ()I
324325
public static fun valueOf (Ljava/lang/String;)Laws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm;
@@ -342,6 +343,7 @@ public final class aws/sdk/kotlin/crt/auth/signing/AwsSigningConfig {
342343
public final fun getSignedBodyHeader ()Laws/sdk/kotlin/crt/auth/signing/AwsSignedBodyHeaderType;
343344
public final fun getSignedBodyValue ()Ljava/lang/String;
344345
public final fun getUseDoubleUriEncode ()Z
346+
public final fun toBuilder ()Laws/sdk/kotlin/crt/auth/signing/AwsSigningConfig$Builder;
345347
}
346348

347349
public final class aws/sdk/kotlin/crt/auth/signing/AwsSigningConfig$Builder {

aws-crt-kotlin/common/src/aws/sdk/kotlin/crt/auth/signing/AwsSigningConfig.kt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import aws.sdk.kotlin.crt.auth.credentials.CredentialsProvider
1212
public enum class AwsSigningAlgorithm(public val value: Int) {
1313
SIGV4(0),
1414
SIGV4_ASYMMETRIC(1),
15+
SIGV4_S3EXPRESS(2),
1516
}
1617

1718
public enum class AwsSignatureType(public val value: Int) {
@@ -176,4 +177,21 @@ public class AwsSigningConfig(builder: Builder) {
176177

177178
public fun build(): AwsSigningConfig = AwsSigningConfig(this)
178179
}
180+
181+
public fun toBuilder(): Builder = Builder().apply {
182+
region = this@AwsSigningConfig.region
183+
service = this@AwsSigningConfig.service
184+
date = this@AwsSigningConfig.date
185+
algorithm = this@AwsSigningConfig.algorithm
186+
shouldSignHeader = this@AwsSigningConfig.shouldSignHeader
187+
signatureType = this@AwsSigningConfig.signatureType
188+
useDoubleUriEncode = this@AwsSigningConfig.useDoubleUriEncode
189+
normalizeUriPath = this@AwsSigningConfig.normalizeUriPath
190+
omitSessionToken = this@AwsSigningConfig.omitSessionToken
191+
signedBodyValue = this@AwsSigningConfig.signedBodyValue
192+
signedBodyHeader = this@AwsSigningConfig.signedBodyHeader
193+
credentials = this@AwsSigningConfig.credentials
194+
credentialsProvider = this@AwsSigningConfig.credentialsProvider
195+
expirationInSeconds = this@AwsSigningConfig.expirationInSeconds
196+
}
179197
}

0 commit comments

Comments
 (0)