mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-12-03 00:43:46 +00:00
[kotlin-client][multiplatform] HttpClient can now be passed as an argument to ApiClient (#16343)
* [kotli-client][multiplatform] Added to inject HttpClient into the argument of ApiClient * [kotlin-client][multiplatform] update generated samples
This commit is contained in:
@@ -18,6 +18,7 @@ package org.openapitools.client.apis
|
||||
import org.openapitools.client.models.Apa
|
||||
|
||||
import org.openapitools.client.infrastructure.*
|
||||
import io.ktor.client.HttpClient
|
||||
import io.ktor.client.HttpClientConfig
|
||||
import io.ktor.client.request.forms.formData
|
||||
import io.ktor.client.engine.HttpClientEngine
|
||||
@@ -27,12 +28,19 @@ import kotlinx.serialization.*
|
||||
import kotlinx.serialization.descriptors.*
|
||||
import kotlinx.serialization.encoding.*
|
||||
|
||||
open class DefaultApi(
|
||||
baseUrl: String = ApiClient.BASE_URL,
|
||||
httpClientEngine: HttpClientEngine? = null,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
||||
) : ApiClient(baseUrl, httpClientEngine, httpClientConfig, jsonSerializer) {
|
||||
open class DefaultApi : ApiClient {
|
||||
|
||||
constructor(
|
||||
baseUrl: String = ApiClient.BASE_URL,
|
||||
httpClientEngine: HttpClientEngine? = null,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
||||
) : super(baseUrl = baseUrl, httpClientEngine = httpClientEngine, httpClientConfig = httpClientConfig, jsonBlock = jsonSerializer)
|
||||
|
||||
constructor(
|
||||
baseUrl: String,
|
||||
httpClient: HttpClient
|
||||
): super(baseUrl = baseUrl, httpClient = httpClient)
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
@@ -19,21 +19,32 @@ import kotlinx.serialization.json.Json
|
||||
import org.openapitools.client.auth.*
|
||||
|
||||
open class ApiClient(
|
||||
private val baseUrl: String,
|
||||
httpClientEngine: HttpClientEngine?,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
private val jsonBlock: Json
|
||||
private val baseUrl: String
|
||||
) {
|
||||
|
||||
private val clientConfig: (HttpClientConfig<*>) -> Unit by lazy {
|
||||
{
|
||||
it.install(ContentNegotiation) { json(jsonBlock) }
|
||||
httpClientConfig?.invoke(it)
|
||||
private lateinit var client: HttpClient
|
||||
|
||||
constructor(
|
||||
baseUrl: String,
|
||||
httpClientEngine: HttpClientEngine?,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonBlock: Json,
|
||||
) : this(baseUrl = baseUrl) {
|
||||
val clientConfig: (HttpClientConfig<*>) -> Unit by lazy {
|
||||
{
|
||||
it.install(ContentNegotiation) { json(jsonBlock) }
|
||||
httpClientConfig?.invoke(it)
|
||||
}
|
||||
}
|
||||
|
||||
client = httpClientEngine?.let { HttpClient(it, clientConfig) } ?: HttpClient(clientConfig)
|
||||
}
|
||||
|
||||
private val client: HttpClient by lazy {
|
||||
httpClientEngine?.let { HttpClient(it, clientConfig) } ?: HttpClient(clientConfig)
|
||||
constructor(
|
||||
baseUrl: String,
|
||||
httpClient: HttpClient
|
||||
): this(baseUrl = baseUrl) {
|
||||
this.client = httpClient
|
||||
}
|
||||
|
||||
private val authentications: kotlin.collections.Map<String, Authentication>? = null
|
||||
|
||||
Reference in New Issue
Block a user