in codegen/smithy-aws-swift-codegen/src/main/kotlin/software/amazon/smithy/aws/swift/codegen/customization/InputTypeGETQueryItemMiddleware.kt [27:54]
override fun generateMiddlewareClosure() {
for (member in inputShape.members()) {
val memberName = ctx.symbolProvider.toMemberName(member)
val queryKey = member.memberName
val memberTargetShape = ctx.model.expectShape(member.target)
if (memberTargetShape is IntegerShape || memberTargetShape is TimestampShape) {
// TODO: We should support all types in our presignable operations
continue
}
writer.openBlock("if let $memberName = input.operationInput.$memberName {", "}") {
when (memberTargetShape) {
is ListShape -> {
val rawValueIfNeeded = rawValueIfNeeded(memberTargetShape.member.target)
val queryValue = "item$rawValueIfNeeded"
writer.openBlock("$memberName.forEach { item in ", "}") {
writeRenderItem(queryKey, queryValue)
}
}
else -> {
val rawValueIfNeeded = rawValueIfNeeded(member.target)
val queryValue = "${memberName}$rawValueIfNeeded"
writeRenderItem(queryKey, queryValue)
}
}
}
}
}