in codegen/smithy-aws-swift-codegen/src/main/kotlin/software/amazon/smithy/aws/swift/codegen/customization/machinelearning/PredictEndpointIntegration.kt [33:52]
override fun writeAdditionalFiles(ctx: CodegenContext, delegator: SwiftDelegator) {
val serviceShape = ctx.model.expectShape<ServiceShape>(ctx.settings.service)
val protocolGeneratorContext = ctx.toProtocolGenerationContext(serviceShape, delegator)?.let { it } ?: run { return }
val service = ctx.model.expectShape<ServiceShape>(ctx.settings.service)
val operationsToGenerate = enabledOperations.getOrDefault(service.id.toString(), setOf())
operationsToGenerate.forEach { operation ->
val op = ctx.model.expectShape<OperationShape>(operation)
val inputSymbol = MiddlewareShapeUtils.inputSymbol(ctx.symbolProvider, ctx.model, op)
val outputSymbol = MiddlewareShapeUtils.outputSymbol(ctx.symbolProvider, ctx.model, op)
val outputErrorSymbol = MiddlewareShapeUtils.outputErrorSymbol(op)
val inputType = op.input.get()
delegator.useFileWriter("${ctx.settings.moduleName}/models/$inputType+EndpointURLHostMiddleware.swift") { writer ->
writer.addImport(SwiftDependency.CLIENT_RUNTIME.target)
val predictMiddleware = PredictInputEndpointURLHostMiddlewareHandler(writer, protocolGeneratorContext, inputSymbol, outputSymbol, outputErrorSymbol)
MiddlewareGenerator(writer, predictMiddleware).generate()
}
}
}