Skip to content

Commit b1601f2

Browse files
authored
chore: Add customization point for client protocol, version property (#983)
1 parent 6b0f48b commit b1601f2

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

smithy-swift-codegen/src/main/kotlin/software/amazon/smithy/swift/codegen/integration/HttpProtocolServiceClient.kt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,17 @@ open class HttpProtocolServiceClient(
2222
) {
2323
private val serviceName: String = ctx.settings.sdkId
2424

25+
open val clientProtocolSymbol: Symbol = ClientRuntimeTypes.Core.Client
26+
2527
fun render(serviceSymbol: Symbol) {
2628
writer.openBlock(
2729
"${ctx.settings.visibility} class \$L: \$N {",
2830
"}",
2931
serviceSymbol.name,
30-
ClientRuntimeTypes.Core.Client,
32+
clientProtocolSymbol,
3133
) {
3234
writer.write("public static let clientName = \$S", serviceSymbol.name)
33-
writer.write("public static let version = \$S", ctx.settings.moduleVersion)
35+
renderVersionProperty()
3436
writer.write("let client: \$N", ClientRuntimeTypes.Http.SdkHttpClient)
3537
writer.write("let config: \$L", serviceConfig.typeName)
3638
writer.write("let serviceName = \$S", serviceName)
@@ -44,6 +46,10 @@ open class HttpProtocolServiceClient(
4446
renderServiceSpecificPlugins()
4547
}
4648

49+
open fun renderVersionProperty() {
50+
writer.write("public static let version = \$S", ctx.settings.moduleVersion)
51+
}
52+
4753
open fun renderInitFunction() {
4854
writer.openBlock("public required init(config: \$L) {", "}", serviceConfig.typeName) {
4955
writer.write(

0 commit comments

Comments
 (0)