in codegen/smithy-aws-swift-codegen/src/main/kotlin/software/amazon/smithy/aws/swift/codegen/middleware/GlacierAccountIdMiddleware.kt [23:40]
override fun render(writer: SwiftWriter, op: OperationShape, operationStackName: String) {
val outputShapeName = MiddlewareShapeUtils.outputSymbol(symbolProvider, model, op).name
val outputErrorShapeName = MiddlewareShapeUtils.outputErrorSymbolName(op)
val accountId = model.expectShape<StructureShape>(op.input.get()).members().first { it.memberName.lowercase() == "accountid" }
writer.openBlock(
"$operationStackName.${middlewareStep.stringValue()}.intercept(position: ${position.stringValue()}, id: \"${name}\") { (context, input, next) -> \$N<\$N<$outputShapeName>, \$N<$outputErrorShapeName>> in", "}",
SwiftTypes.Result,
ClientRuntimeTypes.Middleware.OperationOutput,
ClientRuntimeTypes.Core.SdkError
) {
writer.openBlock("guard let accountId = input.${accountId.memberName}, !accountId.isEmpty else {", "}") {
writer.write("var copiedInput = input")
writer.write("copiedInput.${accountId.memberName} = \"-\"")
writer.write("return next.handle(context: context, input: copiedInput)")
}
writer.write("return next.handle(context: context, input: input)")
}
}