mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-07-06 07:31:01 +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:
parent
ff19825610
commit
141b3d4e0b
@ -5,6 +5,7 @@ package {{apiPackage}}
|
|||||||
{{/imports}}
|
{{/imports}}
|
||||||
|
|
||||||
import {{packageName}}.infrastructure.*
|
import {{packageName}}.infrastructure.*
|
||||||
|
import io.ktor.client.HttpClient
|
||||||
import io.ktor.client.HttpClientConfig
|
import io.ktor.client.HttpClientConfig
|
||||||
import io.ktor.client.request.forms.formData
|
import io.ktor.client.request.forms.formData
|
||||||
import io.ktor.client.engine.HttpClientEngine
|
import io.ktor.client.engine.HttpClientEngine
|
||||||
@ -15,12 +16,19 @@ import kotlinx.serialization.descriptors.*
|
|||||||
import kotlinx.serialization.encoding.*
|
import kotlinx.serialization.encoding.*
|
||||||
|
|
||||||
{{#operations}}
|
{{#operations}}
|
||||||
{{#nonPublicApi}}internal {{/nonPublicApi}}open class {{classname}}(
|
{{#nonPublicApi}}internal {{/nonPublicApi}}open class {{classname}} : ApiClient {
|
||||||
baseUrl: String = ApiClient.BASE_URL,
|
|
||||||
httpClientEngine: HttpClientEngine? = null,
|
constructor(
|
||||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
baseUrl: String = ApiClient.BASE_URL,
|
||||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
httpClientEngine: HttpClientEngine? = null,
|
||||||
) : ApiClient(baseUrl, httpClientEngine, httpClientConfig, jsonSerializer) {
|
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)
|
||||||
|
|
||||||
{{#operation}}
|
{{#operation}}
|
||||||
{{#allParams}}
|
{{#allParams}}
|
||||||
|
@ -19,21 +19,32 @@ import kotlinx.serialization.json.Json
|
|||||||
import {{packageName}}.auth.*
|
import {{packageName}}.auth.*
|
||||||
|
|
||||||
{{#nonPublicApi}}internal {{/nonPublicApi}}open class ApiClient(
|
{{#nonPublicApi}}internal {{/nonPublicApi}}open class ApiClient(
|
||||||
private val baseUrl: String,
|
private val baseUrl: String
|
||||||
httpClientEngine: HttpClientEngine?,
|
|
||||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
|
||||||
private val jsonBlock: Json
|
|
||||||
) {
|
) {
|
||||||
|
|
||||||
private val clientConfig: (HttpClientConfig<*>) -> Unit by lazy {
|
private lateinit var client: HttpClient
|
||||||
{
|
|
||||||
it.install(ContentNegotiation) { json(jsonBlock) }
|
constructor(
|
||||||
httpClientConfig?.invoke(it)
|
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 {
|
constructor(
|
||||||
httpClientEngine?.let { HttpClient(it, clientConfig) } ?: HttpClient(clientConfig)
|
baseUrl: String,
|
||||||
|
httpClient: HttpClient
|
||||||
|
): this(baseUrl = baseUrl) {
|
||||||
|
this.client = httpClient
|
||||||
}
|
}
|
||||||
|
|
||||||
{{#hasAuthMethods}}
|
{{#hasAuthMethods}}
|
||||||
|
@ -17,6 +17,7 @@ package org.openapitools.client.apis
|
|||||||
|
|
||||||
|
|
||||||
import org.openapitools.client.infrastructure.*
|
import org.openapitools.client.infrastructure.*
|
||||||
|
import io.ktor.client.HttpClient
|
||||||
import io.ktor.client.HttpClientConfig
|
import io.ktor.client.HttpClientConfig
|
||||||
import io.ktor.client.request.forms.formData
|
import io.ktor.client.request.forms.formData
|
||||||
import io.ktor.client.engine.HttpClientEngine
|
import io.ktor.client.engine.HttpClientEngine
|
||||||
@ -26,12 +27,19 @@ import kotlinx.serialization.*
|
|||||||
import kotlinx.serialization.descriptors.*
|
import kotlinx.serialization.descriptors.*
|
||||||
import kotlinx.serialization.encoding.*
|
import kotlinx.serialization.encoding.*
|
||||||
|
|
||||||
open class DefaultApi(
|
open class DefaultApi : ApiClient {
|
||||||
baseUrl: String = ApiClient.BASE_URL,
|
|
||||||
httpClientEngine: HttpClientEngine? = null,
|
constructor(
|
||||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
baseUrl: String = ApiClient.BASE_URL,
|
||||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
httpClientEngine: HttpClientEngine? = null,
|
||||||
) : ApiClient(baseUrl, httpClientEngine, httpClientConfig, jsonSerializer) {
|
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.*
|
import org.openapitools.client.auth.*
|
||||||
|
|
||||||
open class ApiClient(
|
open class ApiClient(
|
||||||
private val baseUrl: String,
|
private val baseUrl: String
|
||||||
httpClientEngine: HttpClientEngine?,
|
|
||||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
|
||||||
private val jsonBlock: Json
|
|
||||||
) {
|
) {
|
||||||
|
|
||||||
private val clientConfig: (HttpClientConfig<*>) -> Unit by lazy {
|
private lateinit var client: HttpClient
|
||||||
{
|
|
||||||
it.install(ContentNegotiation) { json(jsonBlock) }
|
constructor(
|
||||||
httpClientConfig?.invoke(it)
|
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 {
|
constructor(
|
||||||
httpClientEngine?.let { HttpClient(it, clientConfig) } ?: HttpClient(clientConfig)
|
baseUrl: String,
|
||||||
|
httpClient: HttpClient
|
||||||
|
): this(baseUrl = baseUrl) {
|
||||||
|
this.client = httpClient
|
||||||
}
|
}
|
||||||
|
|
||||||
private val authentications: kotlin.collections.Map<String, Authentication>? = null
|
private val authentications: kotlin.collections.Map<String, Authentication>? = null
|
||||||
|
@ -18,6 +18,7 @@ package org.openapitools.client.apis
|
|||||||
import org.openapitools.client.models.Apa
|
import org.openapitools.client.models.Apa
|
||||||
|
|
||||||
import org.openapitools.client.infrastructure.*
|
import org.openapitools.client.infrastructure.*
|
||||||
|
import io.ktor.client.HttpClient
|
||||||
import io.ktor.client.HttpClientConfig
|
import io.ktor.client.HttpClientConfig
|
||||||
import io.ktor.client.request.forms.formData
|
import io.ktor.client.request.forms.formData
|
||||||
import io.ktor.client.engine.HttpClientEngine
|
import io.ktor.client.engine.HttpClientEngine
|
||||||
@ -27,12 +28,19 @@ import kotlinx.serialization.*
|
|||||||
import kotlinx.serialization.descriptors.*
|
import kotlinx.serialization.descriptors.*
|
||||||
import kotlinx.serialization.encoding.*
|
import kotlinx.serialization.encoding.*
|
||||||
|
|
||||||
open class DefaultApi(
|
open class DefaultApi : ApiClient {
|
||||||
baseUrl: String = ApiClient.BASE_URL,
|
|
||||||
httpClientEngine: HttpClientEngine? = null,
|
constructor(
|
||||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
baseUrl: String = ApiClient.BASE_URL,
|
||||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
httpClientEngine: HttpClientEngine? = null,
|
||||||
) : ApiClient(baseUrl, httpClientEngine, httpClientConfig, jsonSerializer) {
|
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.*
|
import org.openapitools.client.auth.*
|
||||||
|
|
||||||
open class ApiClient(
|
open class ApiClient(
|
||||||
private val baseUrl: String,
|
private val baseUrl: String
|
||||||
httpClientEngine: HttpClientEngine?,
|
|
||||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
|
||||||
private val jsonBlock: Json
|
|
||||||
) {
|
) {
|
||||||
|
|
||||||
private val clientConfig: (HttpClientConfig<*>) -> Unit by lazy {
|
private lateinit var client: HttpClient
|
||||||
{
|
|
||||||
it.install(ContentNegotiation) { json(jsonBlock) }
|
constructor(
|
||||||
httpClientConfig?.invoke(it)
|
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 {
|
constructor(
|
||||||
httpClientEngine?.let { HttpClient(it, clientConfig) } ?: HttpClient(clientConfig)
|
baseUrl: String,
|
||||||
|
httpClient: HttpClient
|
||||||
|
): this(baseUrl = baseUrl) {
|
||||||
|
this.client = httpClient
|
||||||
}
|
}
|
||||||
|
|
||||||
private val authentications: kotlin.collections.Map<String, Authentication>? = null
|
private val authentications: kotlin.collections.Map<String, Authentication>? = null
|
||||||
|
0
samples/client/petstore/kotlin-default-values-multiplatform/gradlew
vendored
Normal file → Executable file
0
samples/client/petstore/kotlin-default-values-multiplatform/gradlew
vendored
Normal file → Executable file
@ -17,6 +17,7 @@ package org.openapitools.client.apis
|
|||||||
|
|
||||||
|
|
||||||
import org.openapitools.client.infrastructure.*
|
import org.openapitools.client.infrastructure.*
|
||||||
|
import io.ktor.client.HttpClient
|
||||||
import io.ktor.client.HttpClientConfig
|
import io.ktor.client.HttpClientConfig
|
||||||
import io.ktor.client.request.forms.formData
|
import io.ktor.client.request.forms.formData
|
||||||
import io.ktor.client.engine.HttpClientEngine
|
import io.ktor.client.engine.HttpClientEngine
|
||||||
@ -26,12 +27,19 @@ import kotlinx.serialization.*
|
|||||||
import kotlinx.serialization.descriptors.*
|
import kotlinx.serialization.descriptors.*
|
||||||
import kotlinx.serialization.encoding.*
|
import kotlinx.serialization.encoding.*
|
||||||
|
|
||||||
open class DefaultApi(
|
open class DefaultApi : ApiClient {
|
||||||
baseUrl: String = ApiClient.BASE_URL,
|
|
||||||
httpClientEngine: HttpClientEngine? = null,
|
constructor(
|
||||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
baseUrl: String = ApiClient.BASE_URL,
|
||||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
httpClientEngine: HttpClientEngine? = null,
|
||||||
) : ApiClient(baseUrl, httpClientEngine, httpClientConfig, jsonSerializer) {
|
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)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests default values
|
* Tests default values
|
||||||
|
@ -19,21 +19,32 @@ import kotlinx.serialization.json.Json
|
|||||||
import org.openapitools.client.auth.*
|
import org.openapitools.client.auth.*
|
||||||
|
|
||||||
open class ApiClient(
|
open class ApiClient(
|
||||||
private val baseUrl: String,
|
private val baseUrl: String
|
||||||
httpClientEngine: HttpClientEngine?,
|
|
||||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
|
||||||
private val jsonBlock: Json
|
|
||||||
) {
|
) {
|
||||||
|
|
||||||
private val clientConfig: (HttpClientConfig<*>) -> Unit by lazy {
|
private lateinit var client: HttpClient
|
||||||
{
|
|
||||||
it.install(ContentNegotiation) { json(jsonBlock) }
|
constructor(
|
||||||
httpClientConfig?.invoke(it)
|
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 {
|
constructor(
|
||||||
httpClientEngine?.let { HttpClient(it, clientConfig) } ?: HttpClient(clientConfig)
|
baseUrl: String,
|
||||||
|
httpClient: HttpClient
|
||||||
|
): this(baseUrl = baseUrl) {
|
||||||
|
this.client = httpClient
|
||||||
}
|
}
|
||||||
|
|
||||||
private val authentications: kotlin.collections.Map<String, Authentication>? = null
|
private val authentications: kotlin.collections.Map<String, Authentication>? = null
|
||||||
|
@ -19,6 +19,7 @@ import org.openapitools.client.models.ModelApiResponse
|
|||||||
import org.openapitools.client.models.Pet
|
import org.openapitools.client.models.Pet
|
||||||
|
|
||||||
import org.openapitools.client.infrastructure.*
|
import org.openapitools.client.infrastructure.*
|
||||||
|
import io.ktor.client.HttpClient
|
||||||
import io.ktor.client.HttpClientConfig
|
import io.ktor.client.HttpClientConfig
|
||||||
import io.ktor.client.request.forms.formData
|
import io.ktor.client.request.forms.formData
|
||||||
import io.ktor.client.engine.HttpClientEngine
|
import io.ktor.client.engine.HttpClientEngine
|
||||||
@ -28,12 +29,19 @@ import kotlinx.serialization.*
|
|||||||
import kotlinx.serialization.descriptors.*
|
import kotlinx.serialization.descriptors.*
|
||||||
import kotlinx.serialization.encoding.*
|
import kotlinx.serialization.encoding.*
|
||||||
|
|
||||||
open class PetApi(
|
open class PetApi : ApiClient {
|
||||||
baseUrl: String = ApiClient.BASE_URL,
|
|
||||||
httpClientEngine: HttpClientEngine? = null,
|
constructor(
|
||||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
baseUrl: String = ApiClient.BASE_URL,
|
||||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
httpClientEngine: HttpClientEngine? = null,
|
||||||
) : ApiClient(baseUrl, httpClientEngine, httpClientConfig, jsonSerializer) {
|
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)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add a new pet to the store
|
* Add a new pet to the store
|
||||||
|
@ -18,6 +18,7 @@ package org.openapitools.client.apis
|
|||||||
import org.openapitools.client.models.Order
|
import org.openapitools.client.models.Order
|
||||||
|
|
||||||
import org.openapitools.client.infrastructure.*
|
import org.openapitools.client.infrastructure.*
|
||||||
|
import io.ktor.client.HttpClient
|
||||||
import io.ktor.client.HttpClientConfig
|
import io.ktor.client.HttpClientConfig
|
||||||
import io.ktor.client.request.forms.formData
|
import io.ktor.client.request.forms.formData
|
||||||
import io.ktor.client.engine.HttpClientEngine
|
import io.ktor.client.engine.HttpClientEngine
|
||||||
@ -27,12 +28,19 @@ import kotlinx.serialization.*
|
|||||||
import kotlinx.serialization.descriptors.*
|
import kotlinx.serialization.descriptors.*
|
||||||
import kotlinx.serialization.encoding.*
|
import kotlinx.serialization.encoding.*
|
||||||
|
|
||||||
open class StoreApi(
|
open class StoreApi : ApiClient {
|
||||||
baseUrl: String = ApiClient.BASE_URL,
|
|
||||||
httpClientEngine: HttpClientEngine? = null,
|
constructor(
|
||||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
baseUrl: String = ApiClient.BASE_URL,
|
||||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
httpClientEngine: HttpClientEngine? = null,
|
||||||
) : ApiClient(baseUrl, httpClientEngine, httpClientConfig, jsonSerializer) {
|
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)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete purchase order by ID
|
* Delete purchase order by ID
|
||||||
|
@ -18,6 +18,7 @@ package org.openapitools.client.apis
|
|||||||
import org.openapitools.client.models.User
|
import org.openapitools.client.models.User
|
||||||
|
|
||||||
import org.openapitools.client.infrastructure.*
|
import org.openapitools.client.infrastructure.*
|
||||||
|
import io.ktor.client.HttpClient
|
||||||
import io.ktor.client.HttpClientConfig
|
import io.ktor.client.HttpClientConfig
|
||||||
import io.ktor.client.request.forms.formData
|
import io.ktor.client.request.forms.formData
|
||||||
import io.ktor.client.engine.HttpClientEngine
|
import io.ktor.client.engine.HttpClientEngine
|
||||||
@ -27,12 +28,19 @@ import kotlinx.serialization.*
|
|||||||
import kotlinx.serialization.descriptors.*
|
import kotlinx.serialization.descriptors.*
|
||||||
import kotlinx.serialization.encoding.*
|
import kotlinx.serialization.encoding.*
|
||||||
|
|
||||||
open class UserApi(
|
open class UserApi : ApiClient {
|
||||||
baseUrl: String = ApiClient.BASE_URL,
|
|
||||||
httpClientEngine: HttpClientEngine? = null,
|
constructor(
|
||||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
baseUrl: String = ApiClient.BASE_URL,
|
||||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
httpClientEngine: HttpClientEngine? = null,
|
||||||
) : ApiClient(baseUrl, httpClientEngine, httpClientConfig, jsonSerializer) {
|
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)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create user
|
* Create user
|
||||||
|
@ -19,21 +19,32 @@ import kotlinx.serialization.json.Json
|
|||||||
import org.openapitools.client.auth.*
|
import org.openapitools.client.auth.*
|
||||||
|
|
||||||
open class ApiClient(
|
open class ApiClient(
|
||||||
private val baseUrl: String,
|
private val baseUrl: String
|
||||||
httpClientEngine: HttpClientEngine?,
|
|
||||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
|
||||||
private val jsonBlock: Json
|
|
||||||
) {
|
) {
|
||||||
|
|
||||||
private val clientConfig: (HttpClientConfig<*>) -> Unit by lazy {
|
private lateinit var client: HttpClient
|
||||||
{
|
|
||||||
it.install(ContentNegotiation) { json(jsonBlock) }
|
constructor(
|
||||||
httpClientConfig?.invoke(it)
|
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 {
|
constructor(
|
||||||
httpClientEngine?.let { HttpClient(it, clientConfig) } ?: HttpClient(clientConfig)
|
baseUrl: String,
|
||||||
|
httpClient: HttpClient
|
||||||
|
): this(baseUrl = baseUrl) {
|
||||||
|
this.client = httpClient
|
||||||
}
|
}
|
||||||
|
|
||||||
private val authentications: kotlin.collections.Map<String, Authentication> by lazy {
|
private val authentications: kotlin.collections.Map<String, Authentication> by lazy {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user