Skip to content

Commit a2fb7fb

Browse files
committed
Track smithy kotlin changes
1 parent eb338f4 commit a2fb7fb

File tree

2 files changed

+21
-7
lines changed

2 files changed

+21
-7
lines changed

codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/customization/flexiblechecksums/FlexibleChecksumsRequest.kt

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@ class FlexibleChecksumsRequest : KotlinIntegration {
8181
}
8282

8383
override fun render(ctx: ProtocolGenerator.GenerationContext, op: OperationShape, writer: KotlinWriter) {
84+
val inputSymbol = ctx.symbolProvider.toSymbol(ctx.model.expectShape(op.inputShape))
85+
8486
val httpChecksumTrait = op.getTrait<HttpChecksumTrait>()!!
8587

8688
val requestAlgorithmMember = ctx.model.expectShape<StructureShape>(op.input.get())
@@ -91,13 +93,14 @@ class FlexibleChecksumsRequest : KotlinIntegration {
9193
val requestChecksumRequired = httpChecksumTrait.isRequestChecksumRequired
9294

9395
writer.withBlock(
94-
"op.interceptors.add(#T(",
96+
"op.interceptors.add(#T<#T>(",
9597
"))",
9698
RuntimeTypes.HttpClient.Interceptors.FlexibleChecksumsRequestInterceptor,
99+
inputSymbol,
97100
) {
98-
writer.write("requestChecksumRequired = #L,", requestChecksumRequired)
99-
writer.write("requestChecksumCalculation = config.requestChecksumCalculation,")
100-
writer.write("userSelectedChecksumAlgorithm = input.#L?.value,", requestAlgorithmMemberName)
101+
writer.write("#L,", requestChecksumRequired)
102+
writer.write("config.requestChecksumCalculation,")
103+
writer.write("input.#L?.value,", requestAlgorithmMemberName)
101104
}
102105
}
103106
}

codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/customization/flexiblechecksums/FlexibleChecksumsResponse.kt

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,13 @@ import software.amazon.smithy.model.Model
1818
import software.amazon.smithy.model.shapes.OperationShape
1919
import software.amazon.smithy.model.shapes.StructureShape
2020

21+
/**
22+
* AWS services that can return composite checksums in their responses
23+
*/
24+
private val compositeChecksumServices = setOf(
25+
"s3",
26+
)
27+
2128
/**
2229
* Adds a middleware which validates checksums returned in responses if the user has opted-in.
2330
*/
@@ -75,19 +82,23 @@ class FlexibleChecksumsResponse : KotlinIntegration {
7582
}
7683

7784
override fun render(ctx: ProtocolGenerator.GenerationContext, op: OperationShape, writer: KotlinWriter) {
85+
val inputSymbol = ctx.symbolProvider.toSymbol(ctx.model.expectShape(op.inputShape))
86+
7887
val httpChecksumTrait = op.getTrait<HttpChecksumTrait>()!!
7988
val requestValidationModeMember = ctx.model.expectShape<StructureShape>(op.input.get())
8089
.members()
8190
.first { it.memberName == httpChecksumTrait.requestValidationModeMember.get() }
8291
val requestValidationModeMemberName = ctx.symbolProvider.toMemberName(requestValidationModeMember)
8392

8493
writer.withBlock(
85-
"op.interceptors.add(#T(",
94+
"op.interceptors.add(#T<#T>(",
8695
"))",
8796
RuntimeTypes.HttpClient.Interceptors.FlexibleChecksumsResponseInterceptor,
97+
inputSymbol,
8898
) {
89-
writer.write("responseValidationRequired = input.#L?.value == \"ENABLED\",", requestValidationModeMemberName)
90-
writer.write("responseChecksumValidation = config.responseChecksumValidation,")
99+
writer.write("input.#L?.value == \"ENABLED\",", requestValidationModeMemberName)
100+
writer.write("config.responseChecksumValidation,")
101+
writer.write("#L", compositeChecksumServices.contains(ctx.settings.sdkId))
91102
}
92103
}
93104
}

0 commit comments

Comments
 (0)