@@ -130,15 +130,7 @@ class KtorClientGenerator(override val typeStore: TypeStore, val packages: Packa
130130 }
131131 val enum = TypeSpec .enumBuilder(ClassName (packages.client, " Servers" ))
132132 .primaryConstructor(FunSpec .constructorBuilder().addParameter(" url" , String ::class ).build())
133- .apply {
134- enumNames.forEach { (server, name) ->
135- addEnumConstant(name,
136- TypeSpec .anonymousClassBuilder()
137- .addSuperclassConstructorParameter(" %S" , server.url)
138- .build()
139- )
140- }
141- }
133+ .addServerEnumConstants(enumNames)
142134 .addProperty(PropertySpec .builder(" url" , String ::class ).initializer(" url" ).build())
143135 .build()
144136 return FileSpec .builder(ClassName (packages.client, " Servers" )).addType(enum).build()
@@ -152,7 +144,7 @@ class KtorClientGenerator(override val typeStore: TypeStore, val packages: Packa
152144 val params = listOf (
153145 ParameterSpec .builder(" engine" , HttpClientEngine ::class ).build(),
154146 ParameterSpec .builder(" baseUrl" , String ::class .asTypeName())
155- .run { if (api.hasServers()) defaultValue(" %S" , api.servers.first().url) else this }
147+ .run { if (api.hasServers()) defaultValue(" %S" , api.servers.first().url.ensureTrailingSlash() ) else this }
156148 .build(),
157149 ParameterSpec .builder(" json" , Json ::class .asTypeName()).defaultValue(" Json { ignoreUnknownKeys = true }" ).build(),
158150 ParameterSpec .builder(" config" , configLambdaType).defaultValue(CodeBlock .of(" {}" )).build()
0 commit comments