diff --git a/CHANGELOG.md b/CHANGELOG.md index 724b74e..6a2eb16 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ ## 11.1.1 +* `Bot`: + * Logic of creating `HttpClient` now works even if proxy is ommited + ## 11.1.0 * `Bot`: diff --git a/bot/src/main/kotlin/dev/inmo/plagubot/PlaguBot.kt b/bot/src/main/kotlin/dev/inmo/plagubot/PlaguBot.kt index 610c5e5..198676e 100644 --- a/bot/src/main/kotlin/dev/inmo/plagubot/PlaguBot.kt +++ b/bot/src/main/kotlin/dev/inmo/plagubot/PlaguBot.kt @@ -62,17 +62,19 @@ object PlaguBot : Plugin { */ override fun KtorRequestsExecutorBuilder.setupBotClient(scope: Scope, params: JsonObject) { val config = scope.get() - if (config.proxy != null) { + val clientFromHttpClientEngine = scope.getOrNull() ?.let { + HttpClient(it) + } + val clientFromKoin = clientFromHttpClientEngine ?: (scope.getOrNull>() ?: OkHttp).let { + HttpClient(it) + } + this@setupBotClient.client = if (config.proxy != null) { val initialClient = config.proxy.createDefaultClient() - val clientFromHttpClientEngine = scope.getOrNull() ?.let { - HttpClient(it) - } - val clientFromKoin = clientFromHttpClientEngine ?: (scope.getOrNull>() ?: OkHttp).let { - HttpClient(it) - } - this@setupBotClient.client = initialClient.config { + initialClient.config { install(clientFromKoin) } + } else { + clientFromKoin } scope.plugins.filter { it !== this@PlaguBot }.forEach { with(it) {