override fun generateMiddlewareClosure()

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)
                    }
                }
            }
        }
    }