fix of HttpClient setup in PlaguBot

This commit is contained in:
2026-03-19 16:49:21 +06:00
parent 247a47909d
commit 693d552ad2
2 changed files with 13 additions and 8 deletions

View File

@@ -2,6 +2,9 @@
## 11.1.1
* `Bot`:
* Logic of creating `HttpClient` now works even if proxy is ommited
## 11.1.0
* `Bot`:

View File

@@ -62,17 +62,19 @@ object PlaguBot : Plugin {
*/
override fun KtorRequestsExecutorBuilder.setupBotClient(scope: Scope, params: JsonObject) {
val config = scope.get<Config>()
if (config.proxy != null) {
val clientFromHttpClientEngine = scope.getOrNull<HttpClientEngine>() ?.let {
HttpClient(it)
}
val clientFromKoin = clientFromHttpClientEngine ?: (scope.getOrNull<HttpClientEngineFactory<*>>() ?: OkHttp).let {
HttpClient(it)
}
this@setupBotClient.client = if (config.proxy != null) {
val initialClient = config.proxy.createDefaultClient()
val clientFromHttpClientEngine = scope.getOrNull<HttpClientEngine>() ?.let {
HttpClient(it)
}
val clientFromKoin = clientFromHttpClientEngine ?: (scope.getOrNull<HttpClientEngineFactory<*>>() ?: OkHttp).let {
HttpClient(it)
}
this@setupBotClient.client = initialClient.config {
initialClient.config {
install(clientFromKoin)
}
} else {
clientFromKoin
}
scope.plugins.filter { it !== this@PlaguBot }.forEach {
with(it) {