diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-retrofit2/infrastructure/ApiClient.kt.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-retrofit2/infrastructure/ApiClient.kt.mustache index 603e51e86fa7..5026c3f0e075 100644 --- a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-retrofit2/infrastructure/ApiClient.kt.mustache +++ b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-retrofit2/infrastructure/ApiClient.kt.mustache @@ -48,7 +48,8 @@ import retrofit2.converter.moshi.MoshiConverterFactory {{#nonPublicApi}}internal {{/nonPublicApi}}class ApiClient( private var baseUrl: String = defaultBasePath, private val okHttpClientBuilder: OkHttpClient.Builder? = null, - private val serializerBuilder: {{#gson}}Gson{{/gson}}{{#moshi}}Moshi.{{/moshi}}Builder = Serializer.{{#gson}}gson{{/gson}}{{#moshi}}moshi{{/moshi}}Builder + private val serializerBuilder: {{#gson}}Gson{{/gson}}{{#moshi}}Moshi.{{/moshi}}Builder = Serializer.{{#gson}}gson{{/gson}}{{#moshi}}moshi{{/moshi}}Builder, + private val okHttpClient : OkHttpClient? = null ) { private val apiAuthorizations = mutableMapOf() var logger: ((String) -> Unit)? = null @@ -286,7 +287,9 @@ import retrofit2.converter.moshi.MoshiConverterFactory } fun createService(serviceClass: Class): S { - return retrofitBuilder.client(clientBuilder.build()).build().create(serviceClass) + var usedClient: OkHttpClient? = null + this.okHttpClient?.let { usedClient = it } ?: run {usedClient = clientBuilder.build()} + return retrofitBuilder.client(usedClient).build().create(serviceClass) } private fun normalizeBaseUrl() { diff --git a/samples/client/petstore/kotlin-retrofit2/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-retrofit2/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt index 5c4022ea3f2a..8f822585a6e1 100644 --- a/samples/client/petstore/kotlin-retrofit2/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +++ b/samples/client/petstore/kotlin-retrofit2/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -18,7 +18,8 @@ import retrofit2.converter.moshi.MoshiConverterFactory class ApiClient( private var baseUrl: String = defaultBasePath, private val okHttpClientBuilder: OkHttpClient.Builder? = null, - private val serializerBuilder: Moshi.Builder = Serializer.moshiBuilder + private val serializerBuilder: Moshi.Builder = Serializer.moshiBuilder, + private val okHttpClient : OkHttpClient? = null ) { private val apiAuthorizations = mutableMapOf() var logger: ((String) -> Unit)? = null @@ -171,7 +172,9 @@ class ApiClient( } fun createService(serviceClass: Class): S { - return retrofitBuilder.client(clientBuilder.build()).build().create(serviceClass) + var usedClient: OkHttpClient? = null + this.okHttpClient?.let { usedClient = it } ?: run {usedClient = clientBuilder.build()} + return retrofitBuilder.client(usedClient).build().create(serviceClass) } private fun normalizeBaseUrl() {