From 1c3279a481249beb03d9286d4a43aa6b8fea80e6 Mon Sep 17 00:00:00 2001 From: Bram Borggreve <beeman@beeman.nl> Date: Wed, 19 Oct 2022 02:53:27 +0100 Subject: [PATCH] Allow passing headers to the request in the Kotlin client --- .../kotlin-client/libraries/jvm-okhttp/api.mustache | 2 +- .../jvm-okhttp/infrastructure/ApiClient.kt.mustache | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/api.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/api.mustache index 5c467a1b884..0f718f163b1 100644 --- a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/api.mustache +++ b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/api.mustache @@ -48,7 +48,7 @@ import {{packageName}}.infrastructure.Success import {{packageName}}.infrastructure.toMultiValue {{#operations}} -{{#nonPublicApi}}internal {{/nonPublicApi}}class {{classname}}(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { +{{#nonPublicApi}}internal {{/nonPublicApi}}class {{classname}}(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient, headers: MutableMap<String, String> = mutableMapOf()) : ApiClient(basePath, client, headers) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/infrastructure/ApiClient.kt.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/infrastructure/ApiClient.kt.mustache index 3c1a0b156fd..be468eb2189 100644 --- a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/infrastructure/ApiClient.kt.mustache +++ b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/infrastructure/ApiClient.kt.mustache @@ -77,7 +77,7 @@ import com.fasterxml.jackson.core.type.TypeReference import com.squareup.moshi.adapter {{/moshi}} -{{#nonPublicApi}}internal {{/nonPublicApi}}open class ApiClient(val baseUrl: String, val client: OkHttpClient = defaultClient) { +{{#nonPublicApi}}internal {{/nonPublicApi}}open class ApiClient(val baseUrl: String, val client: OkHttpClient = defaultClient, val headers: MutableMap<String, String> = mutableMapOf()) { {{#nonPublicApi}}internal {{/nonPublicApi}}companion object { protected const val ContentType = "Content-Type" protected const val Accept = "Accept" @@ -349,6 +349,9 @@ import com.squareup.moshi.adapter if (requestConfig.headers[Accept].isNullOrEmpty()) { requestConfig.headers[Accept] = JsonMediaType } + + requestConfig.headers += headers + val headers = requestConfig.headers if (headers[Accept].isNullOrEmpty()) { -- GitLab