Merge remote-tracking branch 'origin/5.4.x' into 6.0.x

This commit is contained in:
William Cheng
2021-12-07 00:12:13 +08:00
1672 changed files with 100023 additions and 8011 deletions

View File

@@ -93,4 +93,7 @@ tasks {
}
}
}
register("test") {
dependsOn("allTests")
}
}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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"),