forked from loafle/openapi-generator-original
Merge remote-tracking branch 'origin/5.4.x' into 6.0.x
This commit is contained in:
@@ -93,4 +93,7 @@ tasks {
|
||||
}
|
||||
}
|
||||
}
|
||||
register("test") {
|
||||
dependsOn("allTests")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ import org.openapitools.client.models.ApiResponse
|
||||
import org.openapitools.client.models.Pet
|
||||
|
||||
import org.openapitools.client.infrastructure.*
|
||||
import io.ktor.client.HttpClientConfig
|
||||
import io.ktor.client.request.forms.formData
|
||||
import io.ktor.client.engine.HttpClientEngine
|
||||
import io.ktor.client.features.json.serializer.KotlinxSerializer
|
||||
@@ -36,8 +37,9 @@ import kotlinx.serialization.encoding.*
|
||||
class PetApi(
|
||||
baseUrl: String = ApiClient.BASE_URL,
|
||||
httpClientEngine: HttpClientEngine? = null,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
||||
) : ApiClient(baseUrl, httpClientEngine, jsonSerializer) {
|
||||
) : ApiClient(baseUrl, httpClientEngine, httpClientConfig, jsonSerializer) {
|
||||
|
||||
/**
|
||||
* Add a new pet to the store
|
||||
|
||||
@@ -23,6 +23,7 @@ package org.openapitools.client.apis
|
||||
import org.openapitools.client.models.Order
|
||||
|
||||
import org.openapitools.client.infrastructure.*
|
||||
import io.ktor.client.HttpClientConfig
|
||||
import io.ktor.client.request.forms.formData
|
||||
import io.ktor.client.engine.HttpClientEngine
|
||||
import io.ktor.client.features.json.serializer.KotlinxSerializer
|
||||
@@ -35,8 +36,9 @@ import kotlinx.serialization.encoding.*
|
||||
class StoreApi(
|
||||
baseUrl: String = ApiClient.BASE_URL,
|
||||
httpClientEngine: HttpClientEngine? = null,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
||||
) : ApiClient(baseUrl, httpClientEngine, jsonSerializer) {
|
||||
) : ApiClient(baseUrl, httpClientEngine, httpClientConfig, jsonSerializer) {
|
||||
|
||||
/**
|
||||
* Delete purchase order by ID
|
||||
|
||||
@@ -23,6 +23,7 @@ package org.openapitools.client.apis
|
||||
import org.openapitools.client.models.User
|
||||
|
||||
import org.openapitools.client.infrastructure.*
|
||||
import io.ktor.client.HttpClientConfig
|
||||
import io.ktor.client.request.forms.formData
|
||||
import io.ktor.client.engine.HttpClientEngine
|
||||
import io.ktor.client.features.json.serializer.KotlinxSerializer
|
||||
@@ -35,8 +36,9 @@ import kotlinx.serialization.encoding.*
|
||||
class UserApi(
|
||||
baseUrl: String = ApiClient.BASE_URL,
|
||||
httpClientEngine: HttpClientEngine? = null,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
||||
) : ApiClient(baseUrl, httpClientEngine, jsonSerializer) {
|
||||
) : ApiClient(baseUrl, httpClientEngine, httpClientConfig, jsonSerializer) {
|
||||
|
||||
/**
|
||||
* Create user
|
||||
|
||||
@@ -16,6 +16,7 @@ import io.ktor.client.utils.EmptyContent
|
||||
import io.ktor.http.*
|
||||
import io.ktor.http.content.OutgoingContent
|
||||
import io.ktor.http.content.PartData
|
||||
import kotlin.Unit
|
||||
import kotlinx.serialization.json.Json
|
||||
|
||||
import org.openapitools.client.apis.*
|
||||
@@ -25,6 +26,7 @@ import org.openapitools.client.auth.*
|
||||
open class ApiClient(
|
||||
private val baseUrl: String,
|
||||
httpClientEngine: HttpClientEngine?,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
private val json: Json
|
||||
) {
|
||||
|
||||
@@ -32,11 +34,20 @@ open class ApiClient(
|
||||
KotlinxSerializer(json).ignoreOutgoingContent()
|
||||
}
|
||||
|
||||
private val clientConfig: (HttpClientConfig<*>) -> Unit by lazy {
|
||||
{
|
||||
// Hold a reference to the serializer to avoid freezing the entire ApiClient instance
|
||||
// when the JsonFeature is configured.
|
||||
val serializerReference = serializer
|
||||
it.install(JsonFeature) { serializer = serializerReference }
|
||||
httpClientConfig?.invoke(it)
|
||||
}
|
||||
}
|
||||
|
||||
private val client: HttpClient by lazy {
|
||||
val jsonConfig: JsonFeature.Config.() -> Unit = { this.serializer = this@ApiClient.serializer }
|
||||
val clientConfig: (HttpClientConfig<*>) -> Unit = { it.install(JsonFeature, jsonConfig) }
|
||||
httpClientEngine?.let { HttpClient(it, clientConfig) } ?: HttpClient(clientConfig)
|
||||
}
|
||||
|
||||
private val authentications: kotlin.collections.Map<String, Authentication> by lazy {
|
||||
mapOf(
|
||||
"api_key" to ApiKeyAuth("header", "api_key"),
|
||||
|
||||
Reference in New Issue
Block a user